当我执行与内部命令同名的命令时,Windows 不是在路径中搜索,而是直接使用在 CMD.EXE 中找到的路径。
例如,目录是内置于 的内部命令CMD.EXE
。它不支持与 Unix 版本相同的选项(例如-p
和--help
)。如果我使用这些选项,Windows 将简单地创建名为-p或者- 帮助尽管我有 GNU 版本的建立目录安装在我的路径中的目录中。
当使用某些程序时,这就会成为一个问题建立目录通过终端。例如,gulpfile 用于散文包含三个mkdir -p
命令,-p
在工作目录中创建一个文件夹,然后抛出错误。我必须手动编辑 gulpfile,以便它使用已安装的创建目录工具,这使得我更难以跨平台共享我的 fork。
我如何强制 Windows shell 使用mkdir.exe
PATH 而不是 CMD.EXE 中找到的?
答案1
如何强制 Windows shell 使用 PATH 中的 mkdir.exe 而不是 CMD.EXE?
将可执行文件名称括在双引号中。例如:
"MKDIR"
这会强制 Windows 查找可执行文件,而不是运行内部命令。如果您的参数也需要双引号,请使用以下语法:
"MKDIR" -firstParam "C:\foobar\long file name.ext"