1

这是我的批处理脚本:

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",但似乎这个命令对增加该变量没有影响。

对不起我的英语不好。

4

1 回答 1

4

如果您希望在运行时扩展变量,则需要启用延迟扩展。在脚本的开头添加这一行:

setlocal EnableDelayedExpansion

并将%count%内部循环和条件替换为!count!.

于 2013-07-14T21:32:22.127 回答