[英]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配合使用。
尝试这个:
cd c:\\\\\\\\\\\\\\\\\\
您会发现它完全可以接受。
另一个测试:
cd c:\\\\\\\\\\\\\\\\\\\\\\\\temp
现在,假设您有一个目录,您将位于c:\\ temp目录中。
最后一个:
cd c:\\\\\\\\\\\\\\\\\\\\\\\\\\inetpub\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\logs
假设您已有一个,则现在位于c:\\ inet \\ logs目录中。
似乎您对Directory.Exists()
方法的行为有不正确的期望。
在命令和那些方法中,任意数量的“ \\”都被解释为单个“ \\”,并且是完全可以接受的输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.