工作需要,有这样一个需求:对一个文件夹中的所有文件,(包括嵌套文件夹),需要调用一个程序以文件名为参数进行处理。文件很多,过程相同,正是批处理大显身手的时候了。
我做了两个批处理文件,一个专门处理逻辑的,由另一个调用。
文件1:###run.bat
@echo off
For /r D:\folder\ %%fileName in (*.py) do call do.bat %%fileName
pause
文件2:###do.bat
@echo off
Echo 正在复制脚本:%1
Echo 正在复制脚本:%1 >> d:\log\runlist.txt
Copy /y %1 d:\script\run.py
If %ERRORLEVEL% == 0 (
Echo 正在运行脚本:%1
Echo 正在运行脚本:%1 >> d:\log\runlist.txt
Start /wait AutoTest.exe run.py
If %ERRORLEVEL% == 0 (
Echo 脚本:%1运行完毕
Echo脚本:%1运行完毕 >> d:\log\runlist.txt
) else (
Echo 脚本:%1运行失败
Echo脚本:%1运行失败。错误码:%ERRORLEVEL% >> d:\log\runlist.txt
)
) else (
Echo 脚本:%1复制失败
Echo脚本:%1复制到d:\script失败。>> d:\log\runlist.txt
)
这样就可以了,而且对执行过程也记录到日志了。