在 C# 中找不到创建的目录 [重复]

Posted

技术标签:

【中文标题】在 C# 中找不到创建的目录 [重复]【英文标题】:Cannot find created directory in C# [duplicate] 【发布时间】:2013-06-17 02:53:16 【问题描述】:

我使用:

public const string WbPlanDirPath = "\\SavedWbPlans";

if (!Directory.Exists(WbPlanDirPath))

    System.IO.Directory.CreateDirectory(WbPlanDirPath);
  

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

【问题讨论】:

尝试打印您创建的目录的路径。 您也可以使用(new DirectoryInfo(WbPlanDirPath)).FullName通过控制台/消息框打印目录 【参考方案1】:

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

【讨论】:

【参考方案2】:

这是在当前工作目录的卷根目录之外的\SavedWebPlans 中创建一个目录。

【讨论】:

【参考方案3】:
"\\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);
  

【讨论】:

解释清楚!【参考方案4】:

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

而不是"\\SavedWbPlans";

使用"SavedWbPlans";

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

【讨论】:

【参考方案5】:

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

检查它的属性以找出它是在哪里创建的。

【讨论】:

以上是关于在 C# 中找不到创建的目录 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Eclipse Mars 中找不到 Tomcat 运行时 [重复]

在 c# (linux) 中找不到 PrivateFontCollection 错误

在我的 Facebook 应用程序控制台中找不到客户端 OAuth 设置部分[重复]

在 C# 中找不到 C++ COM DLL 中的导出函数

ASDF 在自定义目录中找不到包

KeyError:“在轴中找不到[列]”[重复]