2013-10-29 49 views
0

我已經在論壇上看過%APPDATA%\Mozilla\可以用來檢查文件夾。我只寫了一個控制檯應用程序來測試c#是否可以處理這個問題。C#中存在的文件夾,但它不是通過我的代碼工作?

bool exist = System.IO.Directory.Exists(@"%APPDATA%\Mozilla\"); 

我已經運行它,這就是說該文件夾不存在(值= false)。這不是真的。當我複製粘貼到explorer.exe中,它會顯示一個文件夾。

有人告訴我如何運行c#代碼來測試它。

+0

轉到資源管理器,導航到'%APPDATA%'並查看您需要的路徑。在你的程序中使用它。 – xbonez

回答

1

我不知道100%,但是從Directory.Exists method

的允許path參數指定相對或絕對路徑 信息。相對路徑信息被解釋爲相對於當前工作目錄的 。

看起來你不能在這個方法中使用系統變量。在我的機器上,%APPDATA%等於C:\Users\Soner\AppData\Roaming

看一看Environment.ExpandEnvironmentVariables也。

+0

那麼最好的做法是像我在OP中發佈的一樣。 – user2906155

1

在使用它之前,將字符串傳遞給Environment.ExpandEnvironmentVariables。它會將%APPDATA%(和其他環境變量)擴展爲其完整路徑。

string fullPath = Environment.ExpandEnvironmentVariables(@"%APPDATA%\Mozilla\"); 
bool exists = System.IO.Directory.Exists(fullPath); 
相關問題