批处理 自动遍历当前目录
0赞由于需要编译并更新多个工程,200多个,
工程都是类似的,自然想偷下懒,用批处理多好,
在以前对批处理理解的基础上,详细查了一下FOR 的命令说明:
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
由于是遍历当前目录下所有目录的名字,就使用如下形式的命令:
FOR /D %variable IN (*) DO command [command-parameters]
这样只要通过command来编译单个工程就好了,
具体实现如下:
@FOR /D %%i IN (*) DO @CALL :complier %%i %OutDir%
@exit
:complier
@set file=%1\Keil
@set KEIL_EXE=D:\Keil\UV3\Uv3.exe
@if exist "%file%\%1.Uv2" (
@%KEIL_EXE% -r "%file%\%1.Uv2" -o "message.txt"
)
@goto :eof
这里实现还包含了另一个知识点: 批处理里调用子程序
CALL :lable parameter ...
有了这个批处理,我就可以睡大觉了,
系统会自动帮我把200多个工程编译完成的,