Правильная цитата для cmd.exe для нескольких аргументов
Я хочу позвонить
cmd /c "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" mysolution.sln /build "release|win32"
К сожалению, это не работает, потому что я получаю ошибку:
"C:\Program" не распознается как внутренняя или внешняя команда,
оперативной программы или командного файла.
Как я понимаю, мне нужно процитировать пробелы и кавычки для |, но мне разрешено использовать только кавычки.
Любые идеи, как правильно процитировать эту командную строку?
Ответы
Ответ 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"