8

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

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

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

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

1 ответ1

12

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

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

"MKDIR"

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

"MKDIR" -firstParam "C:\foobar\long file name.ext"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .