Как создать пакетный файл в Windows, используя "пуск" с путем и командой с пробелами


Мне нужно создать пакетный файл, который запускает несколько консольных приложений в Windows .файл cmd. Это можно сделать с помощью команды start.

однако, команда имеет путь в нем. Мне также нужно пройти paramaters, которые также имеют пробелы. Как это сделать?

например, пакетный файл

start "c:path with spacesapp.exe" param1 "param with spaces"
7 69

7 ответов:

на самом деле, его пример не будет работать (хотя сначала я думал, что это будет слишком). На основе справки для команды Start первым параметром является имя вновь созданного окна командной строки, а вторым и третьим-путь к приложению и его параметры, соответственно. Если вы добавите еще один "" перед путем к приложению, он должен работать (по крайней мере, это было для меня). Использовать что-то вроде этого:

start "" "c:\path with spaces\app.exe" param1 "param with spaces"

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

экранирование пути с помощью Апостроф правильно, но команда start принимает параметр, содержащий заголовок нового окна. Этот параметр определяется окружающими апострофами, поэтому ваше приложение не выполняется.

попробуйте что-то вроде этого:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"

интересно, что в Windows Embedded Compact 7 вы не можете указать строку заголовка. Первым параметром должна быть команда или программа.

start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

когда я использовал выше предложение, у меня есть:

'c:\path' не распознается внутренняя или внешняя команда, действующая программа или пакетный файл.

Я думаю, что вторая метка qoutation предотвращает запуск команды. После некоторого поиска ниже решение сохранить мой день:

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

вы должны использовать что-то вроде этого:

start /d C:\Windows\System32\calc.exe

start /d "C:\Program файлы\Mozilla

Firefox " firefox.исполняемые запуск /д

"C:\Program Файлы\Microsoft

Office\Office12 " EXCEL.EXE

также я советую вам использовать специальный редактор пакетных файлов -Доктор Батчер

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

Я успешно исследовал и это работает нормально для меня. Мое требование-отправить электронное письмо с помощью vbscript, который должен быть вызван из пакетного файла в windows. Вот точная команда, которую я использую без ошибок.

START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs"