检查路径是否有效。

132

我在思考:我正在寻找一种方法来验证给定的路径是否有效。 (注意:我不想检查文件是否存在!我只想证明路径的有效性-因此,如果文件可能存在于该位置)。

问题是,在.Net API中找不到任何东西。 由于Windows支持许多格式和位置,我宁愿使用一些微软本地的东西。

由于函数应该能够针对以下内容进行检查:

  • 相对路径(./)
  • 绝对路径(c:\tmp)
  • UNC-路径(\some-pc\c$)
  • NTFS限制,如完整路径1024个字符-如果我没有记错,超过路径会使文件对许多 内部Windows功能无法访问。使用Explorer重命名仍然有效
  • 卷GUID路径:“\?\Volume{GUID}\somefile.foo

有人有这样的函数吗?


12个回答

-4

4
“我不想检查文件是否存在!” - Stefan
3
这个测试是用于检查目录是否存在,而不是检查它是否为有效路径(如果有适当的权限,则可能存在或被创建)。 - Martijn
3
它不会检查文件,仅会检查包含它们的文件夹。 - markpsmith
10
但是一个有效的目录路径仍然可能不存在。 - Stefan

-4
你可以尝试使用Path.IsPathRooted()与Path.GetInvalidFileNameChars()相结合,以确保路径基本上是正确的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接