2015-05-03 131 views
2

我想在路徑AppData/Roaming/test中創建目錄(如果不存在)。但我的代碼不起作用,我不知道爲什麼。你可以幫我嗎?C#在%AppData中創建目錄%DataData%

 string path; 
     path = @"%AppData%\Roaming\test\"; 
     path = Environment.ExpandEnvironmentVariables(path); 
     Console.WriteLine(path); 

     if (!Directory.Exists(path)) 
      Directory.CreateDirectory(path); 

此代碼不會創建目錄。

+0

CreateDirectory'返回類型System.IO.DirectoryInfo'的'值的方法'。你到達那裏? – TarasB

+0

什麼被寫入控制檯? –

回答

5

%AppData%是SpecialFolder

path = @"%AppData%\Roaming\test\"; 

到:

從改變你的代碼

var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 
var path = Path.Combine(appDataPath, @"\Roaming\test\"); 
if (!Directory.Exists(path)) 
     Directory.CreateDirectory(path); 
+0

工作,謝謝你老狐狸。 – wrepaest

1

你真的應該使用Environment.SpecialFolders達到特殊文件夾,而不是明確的硬編碼的路徑。

像這樣的事情會做的伎倆:

string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "test"); 

if (!Directory.Exists(path)) 
{ 
    Directory.CreateDirectory(path); 
}