C# 在 %AppData% 中创建目录

C# create dir in %AppData%

我想在路径 AppData/Roaming/test 中创建目录(如果不存在)。但是我的代码不起作用,我不知道为什么。你能帮帮我吗?

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

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

此代码不创建目录。

%AppData% 是一个 SpecialFolder

更改您的代码:

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

至:

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

您应该真正使用 Environment.SpecialFolders 来访问特殊文件夹,而不是明确地硬编码路径。

像这样的东西就可以了:

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

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