2017-03-05 119 views
0

我尝试运行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 

(不同的参数,有时更someprograms,这样我就可以”做T它循环)

当我尝试运行schedule.bat仅执行第一蝙蝠(在这个例子中BATCH1

当我将内容复制到一个蝙蝠时 - 它正常工作,所以这对我的程序没有问题 - batch1的结尾也结束了schedule.bat ...

回答

5

当批处理文件直接调用另一个批处理文件时,执行控制被转移到被叫方,不返回给主叫方。

如果使用call命令完成调用操作,则此行为会发生变化。

@echo off 
call C:\scripts\batch1.bat 
call C:\scripts\batch2.bat 
call C:\scripts\batch3.bat 

这样一旦被调用的批处理文件结束,执行就返回给调用者。