Как запустить пакетный сценарий из пакетного сценария?
Как вызвать другой пакетный скрипт из пакетного скрипта?
Я хочу, чтобы он выполнялся в if
заявление.
5 ответов:
использовать
CALL
а вCALL nameOfOtherFile.bat
это заблокирует (приостановит) выполнение текущего пакетного файла, и он будет ждать, пока
CALL
Эд завершается.если вы не хотите, чтобы заблокировать, используйте .
получить мелкие детали с помощью
CALL /?
илиSTART /?
из командной строки.
вы можете просто вызвать скрипт по имени, а если вы работаете в командной строке.
Итак, предположим у вас есть файл
bar.bat
что говоритecho This is bar.bat!
и вы хотите вызвать его из файлаfoo.bat
, вы можете написать это вfoo.bat
:if "%1"=="blah" bar
выполнить
foo blah
из командной строки, и вы увидите:C:\>foo blah C:\>if "blah" == "blah" bar C:\>echo This is bar.bat! This is bar.bat!
но будьте осторожны: при вызове пакетного сценария из другого пакетного сценария исходный пакетный сценарий перестанет выполняться. Если вы хотите запустить вторичный пакетный сценарий, а затем вернуться к предыдущему пакетному сценарию, вам нужно будет использовать . Например:
if "%1"=="blah" call bar echo That's all for foo.bat!
если вы запустите
foo blah
на этом вы бы увидели:C:\>foo blah C:\>if "blah" == "blah" call bar C:\>echo This is bar.bat! This is bar.bat! C:\>echo That's all for foo.bat! That's all for foo.bat!