Заставить Windows использовать.EXE в PATH вместо внутренней команды CMD.EXE

Когда я выполняю команду с тем же именем, что и внутренняя команда, вместо поиска по пути Windows просто использует файл, найденный в CMD.EXE.

Например, MKDIR является внутренней командой, встроенной в CMD.EXE, Он не поддерживает те же опции, что и версия Unix (например, -p а также --help). Если я использую эти параметры, Windows просто создаст файлы с именами -p или --help, хотя у меня установлена ​​версия GNU mkdir в каталоге на моем пути.

Это становится проблемой при работе с некоторыми программами, которые используют mkdir через терминал. Например, gulpfile для прозы содержит три mkdir -p Команды, которые создают папку -p в рабочем каталоге, а затем выбросить ошибки. Я должен вручную отредактировать gulpfile так, чтобы он использовал установленный mkdir.exe, что затрудняет мне совместное использование моего кроссплатформенного форка.

Как я могу заставить оболочку Windows использовать mkdir.exe найдено в PATH, а не в CMD.EXE?

1 ответ

Как я могу заставить оболочку Windows использовать mkdir.exe из PATH, а не CMD.EXE?

Окружите имя исполняемого файла в двойных кавычках. Например:

"MKDIR"

Это заставляет Windows искать ваш исполняемый файл вместо выполнения внутренней команды. Если у вас есть параметры, которые также требуют двойных кавычек, используйте этот синтаксис:

"MKDIR" -firstParam "C:\foobar\long file name.ext"
Другие вопросы по тегам