Как запустить пакетный сценарий из пакетного сценария?
Как вызвать другой пакетный скрипт из пакетного скрипта?
Я хочу, чтобы он выполнялся в 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!