Windows在什么情况下接受'/';作为路径分隔符?

Windows在什么情况下接受'/';作为路径分隔符?,windows,command-line,syntax,path,Windows,Command Line,Syntax,Path,我更喜欢使用/而不是\作为Windows中的路径分隔符,因为它不需要在我的C#源代码中转义,而且我已经了解到现代Windows版本支持这两种方法。然而,它似乎并不总是起作用 以下工作: svnadmin hotcopy D:/foo D:/bar 但以下几点失败了: rmdir /s /q D:/bar 出现此错误时: 无效开关-“bar” Windows在什么情况下接受“/”作为路径分隔符? 注意:不,我不打算使用Path.combined在任何情况下,因为当在我的源代码中对D:/foo这

我更喜欢使用
/
而不是
\
作为Windows中的路径分隔符,因为它不需要在我的C#源代码中转义,而且我已经了解到现代Windows版本支持这两种方法。然而,它似乎并不总是起作用

以下工作:

svnadmin hotcopy D:/foo D:/bar
但以下几点失败了:

rmdir /s /q D:/bar
出现此错误时:

无效开关-“bar”

Windows在什么情况下接受“/”作为路径分隔符?


注意:不,我不打算使用
Path.combined
在任何情况下,因为当在我的源代码中对
D:/foo
这样的路径进行硬编码时,
D:/foo
Path.combined(“D:/”,“foo”)
更具可读性。我使用的是
Path。不过,在所有其他情况下都要合并

后一个示例不是Windows拒绝路径,而是rmdir实用程序,它不能用命令行参数消除路径的歧义。Win32 API IO函数愉快地接受
/
,之后的支持取决于使用路径的东西的实现。@AlexK.:但rmdir是Windows的一部分。这就是为什么我要问Windows的其他部分有这个问题。@AlexK:也不是所有的API函数都能工作,如果使用长路径,它们都不能工作。Stefan,底线是很多情况下正斜杠是行不通的。我的建议是你忘掉它,坚持反斜杠。如果不想引用,可以使用逐字字符串,例如
@“c:\bar”
。后一个示例不是Windows拒绝路径,而是rmdir实用程序,它无法使用命令行参数消除路径的歧义。Win32 API IO函数愉快地接受
/
,之后的支持取决于使用路径的东西的实现。@AlexK.:但rmdir是Windows的一部分。这就是为什么我要问Windows的其他部分有这个问题。@AlexK:也不是所有的API函数都能工作,如果使用长路径,它们都不能工作。Stefan,底线是很多情况下正斜杠是行不通的。我的建议是你忘掉它,坚持反斜杠。如果不想引用,可以使用逐字字符串,如
@“c:\bar”