Подтвердить что ты не робот

Правильная цитата для cmd.exe для нескольких аргументов

Я хочу позвонить

cmd /c "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" mysolution.sln /build "release|win32"

К сожалению, это не работает, потому что я получаю ошибку: "C:\Program" не распознается как внутренняя или внешняя команда, оперативной программы или командного файла.

Как я понимаю, мне нужно процитировать пробелы и кавычки для |, но мне разрешено использовать только кавычки.

Любые идеи, как правильно процитировать эту командную строку?

4b9b3361

Ответ 1

Обратите внимание на "" в начале и в конце!

Запустите программу и пропустите длинное имя файла

cmd /c write.exe "c:\sample documents\sample.txt"

Пробелы в пути к программе

cmd /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""

Пространства в пути программы + параметры

cmd /c ""c:\Program Files\demo.cmd"" Parameter1 Param2

Пространства в пути программы + параметры с пробелами

cmd /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""

Запустите Demo1, а затем запустите Demo2

cmd /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""

CMD.exe(командная оболочка)

Ответ 2

Пространства используются для разделения аргументов. В вашем случае C:\Program становится аргументом. Если ваш путь к файлу содержит пробелы, добавьте двойные кавычки. Тогда cmd распознает его как единственный аргумент.

Ответ 3

Пробелы ужасаются именами файлов или именами каталогов.

Правильный синтаксис для этого состоит в том, чтобы включать в себя все имена каталогов, которые включают пробелы, в двойных кавычках

cmd/c C:\ "Program Files" \ "Microsoft Visual Studio 9.0" \Common7\IDE\devenv.com mysolution.sln/build "release | win32"