强制 Windows 在 PATH 上使用 .EXE 而不是 CMD.EXE 内部命令

umo*_*sdn 9 windows command-line mkdir cmd.exe

当我执行与内部命令同名的命令时,Windows 不会在路径中搜索,而是使用在 CMD.EXE 中找到的路径。

例如,MKDIR是内置于CMD.EXE. 它不支持与 Unix 版本相同的选项(例如-p--help)。如果我使用这些选项,Windows 将简单地创建名为-p--help 的文件,即使我在路径中的目录中安装了 GNU 版本的mkdir

当使用某些通过终端使用mkdir 的程序时,这会成为一个问题。例如,prose 的 gulpfile包含三个mkdir -p命令,-p在工作目录中创建一个文件夹,然后抛出错误。我必须手动编辑 gulpfile 以便它使用已安装的mkdir.exe,这使我更难跨平台共享我的 fork。

如何强制 Windows shell 使用mkdir.exe在 PATH 中找到的而不是 CMD.EXE?

I s*_*ica 14

如何强制 Windows shell 使用在 PATH 中找到的 mkdir.exe 而不是 CMD.EXE?

用双引号将可执行文件名称括起来。例如:

"MKDIR"
Run Code Online (Sandbox Code Playgroud)

这会强制 Windows 查找您的可执行文件,而不是运行内部命令。如果您的参数也需要双引号,请使用以下语法:

"MKDIR" -firstParam "C:\foobar\long file name.ext"
Run Code Online (Sandbox Code Playgroud)

  • 用双引号括起来有效!您甚至不需要指定扩展名——只需`"mkdir"`。谢谢! (2认同)