繁体   English   中英

Directory.Exists()无法识别不存在的文件夹(反斜杠错误)

[英]Directory.Exists() fails with to recognize nonexistent folder (backward slash error)

我正在使用Directory.Exists()来检查文件夹的存在,并且遇到该方法的故障。 我的命令是:

if (Directory.Exists(myFolder) == false) 
{ 
    MessageBox.Show(myFolder, "Invalid Log Folder path", MessageBoxButtons.OK, MessageBoxIcon.Hand); 
}

if (Directory.Exists(myFolder) == true) 
{ 
     MessageBox.Show(myFolder, "Valid Folder path"); 
}

当myFolder为C:\\Documents and Settings\\UserID\\My Documents它返回TRUE

当myFolder为C:\\Documents and Settings\\xxx\\My Documents它返回FALSE (假设xxx不存在)。

但是,当myFolder为C:\\\\Documents and Settings\\UserID\\My Documents它也会返回TRUE

C:旁的双反斜杠必须使测试无效。 但是, Directory.Exists()无法识别它。

使用更多\\仍然会遇到相同的问题。

我只是不明白这种失败是如何发生的。 我正在将VS2008与.NET 3.5配合使用。

尝试这个:

  1. 打开命令提示符
  2. 输入命令cd c:\\\\\\\\\\\\\\\\\\

您会发现它完全可以接受。

另一个测试:

  1. 打开命令提示符
  2. 尝试cd c:\\\\\\\\\\\\\\\\\\\\\\\\temp

现在,假设您有一个目录,您将位于c:\\ temp目录中。

最后一个:

  1. 打开命令提示符
  2. 尝试cd c:\\\\\\\\\\\\\\\\\\\\\\\\\\inetpub\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\logs

假设您已有一个,则现在位于c:\\ inet \\ logs目录中。

似乎您对Directory.Exists()方法的行为有不正确的期望。

在命令和那些方法中,任意数量的“ \\”都被解释为单个“ \\”,并且是完全可以接受的输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM