I have a batch file,
bat1.bat
bat2.bat
but it stops at the end of bat1
any clues?
I have a batch file,
bat1.bat
bat2.bat
but it stops at the end of bat1
any clues?
Use call
:
call bat1.cmd
call bat2.cmd
By default, when you just run a batch file from another one controll will not pass back to the calling one. That's why you need to use call
.
Basically, if you have a batch like this:
@echo off
echo Foo
batch2.cmd
echo Bar
then it will only output
Foo
If you write it like
@echo off
echo Foo
call batch2.cmd
echo Bar
however, it will output
Foo
Bar
because after batch2
terminates, program control is passed back to your original batch file.
This can happen if bat1.bat stops abnormally (other than just running to the end, like calling exit) and you can work around this by using a fresh cmd.exe to run each bat file:
start /b /wait bat1.bat
start /b /wait bat2.bat
You could omit it for the last one if there won't follow commands in you bat file.