我尝试运行schedule.bat:
@echo off
C:\scripts\batch1.bat
C:\scripts\batch2.bat
C:\scripts\batch3.bat
每个batchx.bat的位置为:
@echo off
pushd "C:\otherfolder\"
echo "start batch1"
someprogram.exe parameter1
echo "batch1 end"
popd
(不同的参数,有时甚至更多的某些程序,所以我不能在循环中这样做)
当我尝试运行schedule.bat时,它只执行第一个bat(在本例中为batch1
)当我将内容复制到一个蝙蝠中时 - 它运行正常,所以这对我的程序没有问题 - 批处理1结束也是schedule.bat ......
答案 0 :(得分:5)
当批处理文件直接调用另一个批处理文件时,执行控制将转移到被调用文件,并且不会返回给调用者。
如果使用call
命令完成调用操作,则此行为会更改。
@echo off
call C:\scripts\batch1.bat
call C:\scripts\batch2.bat
call C:\scripts\batch3.bat
这样一旦被调用的批处理文件结束,执行就会返回给调用者。