【问题标题】:How to increment a numeric value using SET /A inside nested FOR in Windows Command Prompt batch file?如何在 Windows 命令提示符批处理文件的嵌套 FOR 中使用 SET /A 增加数值?
【发布时间】:2013-07-12 16:52:00
【问题描述】:

这是我的批处理脚本:

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

我正在尝试在内部循环中使用set /a "count+=1" 来增加count 的值,但该命令似乎对增加该变量没有任何作用。

对不起,我的英语不好。

【问题讨论】:

标签: windows cmd command-prompt windows-console


【解决方案1】:

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

setlocal EnableDelayedExpansion

并用!count!替换循环和条件中的%count%

【讨论】:

  • 谢谢,这正是我所需要的。
猜你喜欢
  • 2018-02-14
  • 2015-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-02
  • 1970-01-01
相关资源
最近更新 更多