Скрипт .bat выполняет только 1 строку - PullRequest
1 голос
/ 21 сентября 2009

Я пишу сценарий, который выполняет одну и ту же функцию несколько раз, но при запуске сценария выполняется только одна из команд, а остальные не выполняются после запуска файла .bat.

Связано ли это с длительностью выполнения моих команд (15-20 секунд)? Я написал много файлов летучих мышей, и я никогда не сталкивался с этим. Нужно ли иметь функцию сна между каждой командой?

Я пытался выяснить это в Google, но мои доступные условия поиска делают мои результаты поиска неопределенными и трудными.

Любая помощь определенно приветствуется.

файл bat выглядит примерно так

IF input1 == "search term" goto location
do something
do something
do something
etc
goto end of file
:location
do something else
do something else
do something else
...

1 Ответ

12 голосов
/ 21 сентября 2009

Включает ли одна из ваших строк "сделать что-то еще" вызов другого пакетного файла? Если да, то используете ли вы команду CALL?

Если вы хотите вызвать другой пакетный файл рекурсивно, вам нужно использовать CALL. В противном случае, когда вызываемый пакетный файл завершается, он не возвращается к вызывающему пакетному файлу и просто завершается. Это реликт со времен MS-DOS; так как память была в большом количестве, разработчики MS решили, что пакетный интерпретатор не должен сохранять стек вызовов по умолчанию - поэтому, если вы хотели, вам нужно было использовать CALL.

См. call /? для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...