什么时候在 Windows CMD 中使用 / 或 \?

When to use / or \ in Windows CMD?

使用 \ 或 / 有什么规则吗?

例如,cd c:/ 和 c:\ 都可以正常工作。使用 mkdir x/y 不起作用,说 "syntax is incorrect",但使用 mkdir x\y.

谁能解释一下有什么区别?

在 Windows 上,正斜杠 / 通常用于参数,反斜杠 \ 是 file/folder 具有绝对或相对路径的名称中的目录分隔符,请参阅Microsoft 文档 Naming Files, Paths, and Namespaces.

Windows 文件系统内核函数还处理 file/folder 以 / 作为目录分隔符的路径,通过在内部将它们自动更正为 \ 以更好地与 Unix/Mac 平台,如 C/C++/C# 源代码文件中的 #include 语句,引用头文件的相对路径使用 / 作为目录分隔符或 HTML 文件中的 URL还使用 / 作为分隔符。这只是使用正斜杠作为表示文件系统目录的字符串之间的分隔符的众多示例中的两个。

但是 Windows 批处理文件应该只使用 \ 作为 file/folder 字符串中的目录分隔符来编写。

在 Unix/Mac 上,目录分隔符是 / 并且 - 用于有时会出现问题的选项,因为 file/folder 名称也可以字符 [=19] 开头=].

如何解析参数字符串取决于使用的编译器和 application/command 本身。每个平台都有一些通用的规则,但是应用程序的每个程序员都可以自己定义参数解析规则。因此,始终建议阅读要使用的应用程序或命令的文档。在 Windows 上,这通常可以通过 运行 command/application 和 /? 来完成,而在 Unix/Mac 上,获得帮助的选项通常是 -?-h--help.

有许多从 Unix 移植到 Windows 的应用程序需要在命令行上使用 - 指定参数而不是像 ping.[=29= 那样的 / ]