當我運行此腳本(從.bat文件)時:set var1=trueif "%var1%"=="true" ( set var2=myvalue echo %var2%)我總是得到:ECHO is on.表示該var2變量未真正設置。誰能幫我了解原因?
2 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
我參加聚會有點晚了,但是應對這種情況的另一種方法是繼續在外面進行程序if,像這樣
set var1=true
if "%var1%"=="true" (
set var2=myvalue
)
echo %var2%
或/和使用goto語法
set var1=true
if "%var1%"=="true" (
set var2=myvalue
goto line10
) else (
goto line20
)
. . . . .
:line10
echo %var2%
. . . . .
:line20
這種擴展“及時”發生,您不需要setlocal EnableDelayedExpansion。最重要的是,如果您重新考慮腳本的設計,則可以這樣做
- 2 回答
- 0 關注
- 909 瀏覽
添加回答
舉報
0/150
提交
取消