как выполнить несколько пакетных файлов в сериале в среде командной строки окон

У меня есть пакетный файл,

bat1.bat
bat2.bat

но это останавливается в конце bat1

какие-либо подсказки?

22
задан Qben 3 October 2012 в 12:25
поделиться

2 ответа

Используйте call:

call bat1.cmd
call bat2.cmd

По умолчанию, когда вы просто запускаете пакетный файл с другого контроллера, он не будет передан обратно вызывающему. Поэтому необходимо использовать call.

В общем случае, если у вас есть такой пакет:

@echo off
echo Foo
batch2.cmd
echo Bar

то он будет выдавать только

Foo

Если вы запишете его как

@echo off
echo Foo
call batch2.cmd
echo Bar

, то он выдаст

Foo
Bar

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

41
ответ дан 29 November 2019 в 04:26
поделиться

Это может произойти, если Bat1.bat останавливается ненормально (кроме как только для того, чтобы запустить до конца, например, вызов выхода), и вы можете работать вокруг этого, используя свежие cmd.exe для запуска каждого файла Bat:

start /b /wait bat1.bat
start /b /wait bat2.bat

Вы можете пропустить Это для последнего, если не будет следовать командам в файле Bat.

2
ответ дан 29 November 2019 в 04:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: