这是我的批处理脚本:
set vc11path=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
set path=%path%;C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE
set path=%path%;%vc11path%\bin
set path=%path%;G:\ida61\flair61\bin\win
set /a "count = 1"
cd "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib"
c:
for %%i IN (*.lib) DO (
md a:\libs\%%i.fdr
)
for %%i IN (*.lib) DO (
for /F "skip=3" %%j in ('link.exe -lib /list %%i') do (
link.exe -lib /extract:%%j "%vc11path%\lib\%%i" /OUT:"a:\libs\%%i.fdr\%%~nj.n%count%.obj"
set /a "count+=1"
)
)
FOR /D %%i IN ("a:\libs\*.fdr") DO for %%j in (%%i\*.obj) do pcf.exe -g0 "%%i\%%~nj.obj"
FOR /D %%i IN ("a:\libs\*.fdr") DO sigmake %%i\*.pat a:\libs\%%~ni.sig
我正在尝试在内部循环中使用count
递增set /a "count+=1"
值,但似乎此命令对增加该变量没有影响。
抱歉我的英语不好。
答案 0 :(得分:4)
如果希望在运行时扩展变量,则需要启用延迟扩展。在脚本的开头添加此行:
setlocal EnableDelayedExpansion
并使用%count%
替换循环和条件中的!count!
。