0
我想編寫一個批處理文件,該文件會從1到5 這裏顯示的數字是我的代碼:批for循環打印相同數量的多次
@ECHO OFF
FOR /l %%A in (1,1,5) do (
SET number=%%A
ECHO %number%
)
這裏是輸出:
5
5
5
5
5
我的代碼有什麼問題?
我想編寫一個批處理文件,該文件會從1到5 這裏顯示的數字是我的代碼:批for循環打印相同數量的多次
@ECHO OFF
FOR /l %%A in (1,1,5) do (
SET number=%%A
ECHO %number%
)
這裏是輸出:
5
5
5
5
5
我的代碼有什麼問題?
你正在失去ENABLEDELAYEDEXPANSION
和!number!
而不是%number%
。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /l %%A in (1,1,5) DO (
SET number=%%A
ECHO !number!
)
當變量內循環改變,或者如果你的結構總是有ENABLEDELAYEDEXPANSION
工作和訪問的變量爲!var!
,而不是%var%
。
其實你得到以前的結果作爲'數字'沒有初始化;在第一次運行時,您將收到'ECHO is on.',因爲在擴展時'number'是空的。 – aschipfl