0
我有一個包含此批處理文件:如何獲得變量在for循環更新正確
@echo off
set /a count=0
for /F "tokens=*" %%a in (a.txt) do (
set /a count+=1
echo %count% : %%a
)
echo %count%
而且a.txt中包含此:
1
2
3
4
5
我預計輸出到是這個樣子:
1 : 1
2 : 2
3 : 3
4 : 4
5 : 5
5
而是我得到:
0 : 1
0 : 2
0 : 3
0 : 4
0 : 5
5
因此,大家可以看到 - 文件被正確解析,計數工作(你可以看到,%count%
等於5月末),但由於某些原因,%計%0會一直呆到後循環。
如何獲得在for循環內更新的變量,以便在for循環內實際可用?
:D使用'setlocal enabledelayedexpansion'和'!'代替'%'做了訣竅。謝謝堆:D – Shadow 2013-04-26 02:08:11
我可能會補充說,第一個選項(使用調用)不適合我。 – Shadow 2013-04-26 02:19:39
呼叫解決方案至少在Win7上起作用。 – ElektroStudios 2013-04-26 02:22:12