2014-01-30 21 views
0

Я создал пакетный файл (batA), который запускает другой пакетный файл (marathon.bat). Когда я сохраняю batA на своем рабочем столе и используюПакетный файл не запускает другой пакетный файл

start /wait ..\marathon\marathon.bat -batch "C:\stuff" 

все работает просто отлично. Однако, когда я сохраняю marathon.bat мои файлы программы, которые теперь имеет пробелы в имени, а затем использовать

start /wait c:\"Program Files (x86)\marathon\marathon.bat" -batch "c:\stuff" 

Я получаю ошибку:

'c:\Program' is not recognized as an internal or external command, operable program or batch file. 

Я знаю, что вы должны использовать двойные кавычки, чтобы учитывать пробелы, но почему это останавливается при c: \ Program? Я пробовал перемещать кавычки в разные места, но я не могу заставить его распознать второй файл.

+0

should 'c: \" P .. "' not be '" c: \ P .. "'? –

+0

Я уже пробовал, и это не сработало. Я попробую еще раз. –

ответ

0

Это работает для вас?

start "" /wait %comspec% /c "c:\Program Files (x86)\marathon\marathon.bat" -batch "c:\stuff" 
+0

Это сделало трюк. благодаря –

0

У вас есть 2 проблемы с тем, как вы вызываете свой командный файл.

Во-первых, вы разместили свои кавычки в неправильном месте. Вместо

start /wait c:\"Program Files (x86)\marathon\marathon.bat" 

Вы должны приложить всю свою команду в кавычки, а не только от имени в Program Files папке:

start /wait "c:\Program Files (x86)\marathon\marathon.bat" 

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

start "" /wait "c:\Program Files (x86)\marathon\marathon.bat" 
+0

Я помещаю двойные кавычки там, потому что ранее в пакетном файле это способ, которым я должен начать vbscript. 'c: \ "остальная часть пути к файлу" работает, пока "c: \ остаток пути к файлу" не работает. Кроме того, добавление двух наборов двойных кавычек после команды запуска не имеет для меня никакого значения. Я все равно получаю ту же ошибку. –

+0

@NickL Вы пробовали часть с пустыми кавычками? Это исправить вашу проблему? – Laf

+0

Когда вы говорите пустые кавычки, я предполагаю, что вы имеете в виду сразу после команды запуска (начало «»). Да, я пробовал это, и он не работает. Я не знал, означает ли вы «» или «» (сначала без пробела между и вторым с пробелом). Я пробовал оба, и ни один из них не работает. –

Смежные вопросы