0
我試圖在for循環中使用索引並將其存儲在變量中。 我寫一個批處理文件與此代碼:在批處理路徑中使用索引
FOR /L %%x IN (1,1,3) DO (
ECHO %%x
SET tmp=prefix_%%x.suffix
ECHO tmp is %tmp%
)
運行它時,我得到:
1
tmp is prefix_3.suffix
2
tmp is prefix_3.suffix
3
tmp is prefix_3.suffix
我希望它是:
1
tmp is prefix_1.suffix
2
tmp is prefix_2.suffix
3
tmp is prefix_3.suffix
我在做什麼錯?!
哇,這是我的第一個關於堆棧溢出的問題,只是一個完美的答案。謝謝你:-) – RLaaa
危險,威爾羅賓遜一刻! 'TMP'應該設置爲與'TEMP'相同,並且應該指向一個目錄來存儲臨時文件。一些較舊的軟件可能會做出這樣的假設,如果您改變了它,軟件可能會不可預測地發生作用(一些預定義的變量之一,最好不要改變 - 對於不完整的列表,請在提示符處輸入SET ...) ,響應'prefix_3'是變量建立之前的先前運行的宿醉。因此,通常使用'setlocal'作爲批處理的第一個命令 - 這可以確保在批處理結束時批處理所做的更改將被退出。 – Magoo