Завершение файла Bat - PullRequest
       7

Завершение файла Bat

0 голосов
/ 13 сентября 2011

Рассмотрим два bat файла.

outer.bat

echo Before
inner.bat
echo After

inner.bat

echo Inner
goto :eof

Когда я выполняю external.bat «После» не отображается. Так "goto: eof" во внутреннем скрипте завершает внешний скрипт.

Можно ли переписать external.bat , чтобы продолжить выполнение после вызова inner.bat без изменения inner.bat ?

1 Ответ

4 голосов
/ 13 сентября 2011

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

Чтобы иметь возможность вернуться к внешнему пакетному файлу, вы должны выполнить

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