在C#中找不到创建的目录

时间:2013-06-20 09:44:26

标签: c# io

我用:

public const string WbPlanDirPath = "\\SavedWbPlans";

if (!Directory.Exists(WbPlanDirPath))
{
    System.IO.Directory.CreateDirectory(WbPlanDirPath);
}  

创建目录。虽然,它似乎工作正常(没有抛出异常)我找不到文件系统中任何地方的文件夹/目录。我做错了吗?

5 个答案:

答案 0 :(得分:2)

"\\SavedWbPlans"

注意一开始的反斜杠。在Windows中的路径上下文中,这指的是驱动器的 root

因此,该目录很可能是在驱动器根目录上创建的,具体取决于工作目录的位置。

例如,如果工作目录为D:\Somewhere\in\the\drive\,则会将其创建为D:\SavedWbPlans


如果您尝试在程序所在的同一目录中创建目录,请改用以下代码:

string directory_of_program = Path.GetDirectoryName(Application.ExecutablePath);
string WbPlanDirPath = Path.Combine(directory_of_program, "SavedWbPlans");

if (!Directory.Exists(WbPlanDirPath))
{
    System.IO.Directory.CreateDirectory(WbPlanDirPath);
}  

答案 1 :(得分:1)

应在根级别为当前目录的卷创建。检查Environment.CurrentDirectory

答案 2 :(得分:0)

这使得\SavedWebPlans中的目录在当前工作目录的卷的根目录下。

答案 3 :(得分:0)

它位于同一个父目录(包含您的程序的目录)中作为您的程序。

而不是"\\SavedWbPlans";

使用"SavedWbPlans";

这会将其保存在当前目录(与程序相同的目录)

答案 4 :(得分:0)

CreateDirectory返回指向创建目录的DirectoryInfo对象。

检查其属性以找出它的创建位置。