Path.GetFullPath意外行为" DriveLetter:SomeDirectory"

时间:2015-11-10 13:47:20

标签: c# path

我正在尝试使用this回答中建议的Path类来确定目录路径是否有效。

但是,虽然我希望Path.GetFullName("C:SomeDirectory")(没有任何斜杠)抛出异常,但它会返回C:\Windows\system32\SomeDirectory

此外,如果我写Directory.Create("C:SomeDirectory"),它会尝试在C:\Windows\system32下再次创建目录。

例如,当我尝试输入C:drivers到Windows资源管理器中的地址栏时,我收到错误Windows cannot find file. Check the spelling and try again.

命令行也会在cd C:drivers上出错。

这是预期的行为吗?

1 个答案:

答案 0 :(得分:1)

是的,C:告诉它哪个驱动器。其余的路径必须以root' \'开头。如果你想让路径从root运行 - 否则它只会附加到当前目录。

Path和Uri方法对这些事情非常具体。

所有路径都是相对于当前工作目录的 - 但是使用\开始路径使其相对于(该驱动器的)根目录 - 在命令行上也是如此