2013-06-22 26 views
1

我試圖將子目錄添加到現有路徑。以編程方式創建的子文件夾在Windows資源管理器中不可見

的Win-7 64,英特爾SSD

登錄到公司的域具有管理員私法用戶,而不是作爲 「管理員」

Visual Studio 2008中,啓動正常(不是 「以管理員身份運行」)

這裏的MyApp的(的WinForms,調試,86):

[STAThread] 
    private static void Main(string[] args) 
    { 
    string p = @"C:\ProgramData\MyCompany\MyApp"; 
    Directory.CreateDirectory(p); 
    string f = "a.txt"; 
    string fullPath = Path.Combine(p, f); 
    File.WriteAllText(fullPath, string.Empty); 
    Directory.Delete(p); 

正如預期的那樣,在最後一行拋出IOException異常: 「該目錄不爲空」。應該表示子目錄和文件已創建。

問題:Windows資源管理器不顯示MyApp子目錄(即使刷新後,在地址欄中鍵入路徑,關閉/重新打開或重新啓動)。

C:\ ProgramData \ MyCompany \由另一個應用程序的安裝程序創建; Windows資源管理器稱其當前所有者是System。

使用相同的IDE來創建控制檯應用程序(調試,x86),複製上面的行並運行; Windows資源管理器很高興向我展示DigitalTestApps和文件。

如果我做以下MyApp的中的任何一個,問題消失(即Windows資源管理器顯示我的「MyApp的」子目錄和裏面的文件):

  • 建設成爲64

  • 啓動使用「以管理員身份運行」

  • 的Visual Studio採用的是「MyApp的」其他任何名稱(但我需要使用MyApp的遺留原因)

什麼可能導致這種情況?

+0

也許有一個文件夾「C:\ ProgramData \ MyCompany \ MyApp」但它是隱藏的? – ElmoVanKielmo

+1

在'文件夾選項'中顯示'System files and folders',然後嘗試 – Shaharyar

+0

嘗試在Windows資源管理器中鍵入文件的路徑,如'%MyApp%' – MethodMan

回答

0

@dtb太謙虛(或忙)重新發布他的評論(這解決了我的問題)作爲一個答案,所以我會在這裏複製他的意見,使其更容易給別人看如何橫空出世:

「請檢查您是否可以在C某處找到你的目錄&文件:\用戶\ JimC \ AppData的(文件夾虛擬化) 相關:Why Virtualization on ProgramData folder in MS Vista?

因此,這裏是我做過什麼讀他的意見後:

我從C:\ Users下刪除了virutalized目錄,它開始工作國王很好。不知道它是如何創建的,但看起來,它存在時,試圖創建我期待的目錄,而不是找到虛擬化目錄。

再次感謝dtb。

相關問題