批量scritping非常新.我只是试图执行下面的代码完全混淆.
@echo off set m=100 set i=0 FOR /L %%N IN (0,1,%m%)do ( set /a i=1+%i% )
回声%i%
暂停
在这里,我递增i值,直到N达到100.所以,我期望循环结束时i的值为101,但它显示1.任何人都可以解释这背后的原因是什么.
谢谢
您需要延迟扩展:
http://www.robvanderwoude.com/variableexpansion.php
@echo off setlocal enableDelayedExpansion set m=100 set i=0 FOR /L %%N IN (;;0,%m%;;) do ( set /a i=1+!i! ) endlocal & set /a i=%i% echo %i%