Запуск vcbuildtools.bat в PowerShell при запуске в cmder

493
James Whitehead

Использование командной строки здесь отключено, поэтому, когда я хочу использовать инструменты сборки Visual C ++ (т.е. включить использование cl), я должен использовать PowerShell. Я использую следующую строку, которая отлично работает:

cmd.exe /k "C:\Program Files (x86)\Microsoft Visual C++ Build Tools\vcbuildtools.bat" x86_amd64 `& powershell 

Однако я хочу попытаться выполнить эту команду автоматически при каждом запуске cmder. У меня есть эта строка, указанная в области «Командная строка» настроек запуска, но она выдает следующую ошибку:

Error in script usage. The correct usage is: "C:\Program Files (x86)\Microsoft Visual C++ Build Tools\vcbuildtools.bat" [option] where [option] is: x86 | amd64 | x86_amd64 | x86_arm | amd64_x86 | amd64_arm ECHO is off. For example: "C:\Program Files (x86)\Microsoft Visual C++ Build Tools\vcbuildtools.bat" x86_amd64 

Что мне нужно изменить в строке, чтобы заставить его работать?

1
Почему у вас есть обратный удар перед `&`? DavidPostill 6 лет назад 1
О, спасибо! У меня был недостаток, когда я запускал скрипт из самой PowerShell, потому что нужно было экранировать `&`, но я забыл, что cmder не запускал его из PowerShell для начала. Проблема (косвенно) решена. James Whitehead 6 лет назад 0

1 ответ на вопрос

0
DavidPostill

Что мне нужно изменить в строке, чтобы заставить его работать?

cmd.exe /k "C:\Program Files (x86)\Microsoft Visual C++ Build Tools\vcbuildtools.bat" x86_amd64 `& powershell 

Снимите спину `с `&.

В `экранирует &так сброс линии получает передаются в качестве параметров, vcbuildtoolsвместо того, чтобы быть интерпретировано cmd.