Как обрабатывать файлы с пробелами в пакетных скриптах?

1

Я создаю командный файл для выполнения нескольких программ, но у меня возникли проблемы с pro gra mme.exe. Скрипт застревает на

cd "C:\Program Files (x86)\Dir 1\Main"
start "pro gra mme.exe"

Во время выполнения я получаю подсказку с C:\Program Files (x86)\Dir 1\Main>. В чем может быть проблема? Я добавляю двойные кавычки, start "pro gra mme.exe"чтобы противостоять пробелам.

Youbecks003
источник
3
Если первый параметр to startзаключен в двойные кавычки, он берется в качестве заголовка. Таким образом , вы должны поставить фиктивный параметр: start "" "pro gra mme.exe".
AFH
Какую ошибку вы получаете?
Джефф Цейтлин
@AFH start принимает первый аргумент в двойных кавычках, так как заголовок не зависит от его позиции, он может быть последним.
LotPings
@LotPings - я никогда не видел этого: справочная информация ( start /?) говорит, что заголовок является необязательным первым параметром в кавычках. Я только что проверил его на Win10, и он следует спецификации: start cmd "Title"игнорирует «Название».
AFH
@AFH Я только что проверил свою настоящую Win 10, и похоже, что start /D "%USERPROFILE%" "my title" cmdтеперь новое поведение работает - и я довольно уверен, что долгое время это не работало. Так что теперь это зависит от используемой версии Windows
LotPings

Ответы:

2

Я добавляю двойные кавычки в start "pro gra mme.exe"счетчик пробелов

Пожалуйста, прочитайте помощь для start.

Syntax

  START "title" [/D path] [options] "command" [parameters]

В вашем случае "pro gra mme.exe"это интерпретируется cmdоболочкой как заголовок .

Вместо этого вы можете использовать следующую команду:

start "" "pro gra mme.exe"

Примечание:

Всегда включать TITLE, это может быть простая строка, например, "My Script"или просто пара пустых кавычек""

Согласно документации Microsoft, заголовок является необязательным, но в зависимости от других выбранных параметров могут возникнуть проблемы, если он не указан.

Источник - начало


Дальнейшее чтение

ДэвидПостилл
источник
1
Время от времени есть инструмент, который забавляет меня своим странным дизайном.
Камиль Мачоровски