我阅读了以下两篇文章,发现它们似乎都没有回答我的问题How to call one batch file after another,Execute batch file after another batch file completes。在
我尝试在WindowsServer2012 R2 Standard上通过批处理文件运行一系列6个python脚本。我希望前5个脚本同时运行(加工.bat),它目前由五个子bat文件组成(北.bat, 西蝙蝠, 南.bat, 中央.bat, 东北.bat). 一旦完成,它就应该运行一个最终的脚本,该脚本与前5个的输出一起工作(合并.bat). 在
我尝试过几种呼叫和启动/等待的组合,但似乎没有什么能做得对。当前,我的主bat文件如下所示:
start /wait Processing.bat
start /wait Merge.bat
在加工.bat看起来像:
^{pr2}$每个子蝙蝠看起来像:
start /wait C:\Python27\ArcGIS10.4\python.exe E:\TestScript.py Central
IF %ERRORLEVEL% EQU 0 EXIT
最后呢合并.bat看起来像:
start /wait C:\Python27\ArcGIS10.4\python.exe E:\MergeSDE.py
IF %ERRORLEVEL% EQU 0 EXIT
使用此设置,所有6个脚本将同时运行(而不是5个后接1个)。但在每个脚本完成之前,相应的命令提示符窗口将保持打开状态(7个窗口)。关键是如果我要改变加工.bat要“启动/等待”,它将一个接一个地运行(前5个中的哪一个,我不想要),但是在主批处理中使用“start/wait”,所有子批都会同时运行。在
这是解决这个问题的最简单方法:
更多详细信息请访问How to wait all batch files to finish before exiting?。在
对于批处理文件,假设您可以编辑它们。在
在第一次创建标志文件结束时设置:
第二天:
^{pr2}$其他人也一样。在
在合并.bat设置(如果西蝙蝠是最后执行的文件):
^{3}$merge.bat
应使用start重新启动指挥。还有标志文件应提前删除。在相关问题 更多 >
编程相关推荐