标签:
*****************************************************************************************************************
set dir=%cd%
for /f "delims=" %%i in (‘dir /ad/b "%dir%"‘) do (if exist %%i/makefile (cd %%i & nmake %1 %2 %3 %4 %5 %6 %7 %8 %9 /nologo & cd ..))
*****************************************************************************************************************
上面命令的意义:
遍历当前文件夹中的所有文件夹
在第一次子文件夹中执行nmake命令,参数是调用批处理处指定。
dir /ad/b "%dir%":去当前目录的所有子文件夹。
if exist %%i/makefile:判断子文件夹中的makefile文件是否存在
cd %%i & nmake %1 %2 %3 %4 %5 %6 %7 %8 %9 /nologo & cd ..:
进入子文件夹,执行nmake命令,跳出子文件夹。
批处理只支持10个参数,如果更改,需要使用shift命令对参数进行向右移动(向左真么移动不知道,如果有人知道,请告知)
shift /n
n代表从第几个位置向右移动一个。
比如:
shift /5
表示把原来的%6变成现在的%5,原来的%7变成现在的%6,以此类推,不过n最大为8(应该为9才合理嘛)。
有过有多个,就执行多次,比如有过有12个参数,就需要执行3次shift命令才能把说有的变量取出。
标签:
原文地址:http://www.cnblogs.com/ys0103/p/4334301.html