55
當我運行此腳本(從.bat文件):Windows批處理中集如果不工作
set var1=true
if "%var1%"=="true" (
set var2=myvalue
echo %var2%
)
我總是得到:
含義var2
變量是不是真的組。 任何人都可以請幫我理解爲什麼?
當我運行此腳本(從.bat文件):Windows批處理中集如果不工作
set var1=true
if "%var1%"=="true" (
set var2=myvalue
echo %var2%
)
我總是得到:
含義var2
變量是不是真的組。 任何人都可以請幫我理解爲什麼?
設置了var2,但行echo %var2%
的擴展發生在塊執行之前。
目前var2
爲空。
因此,存在delayedExpansion語法,它使用!
而不是%
,它在執行時評估,而不是解析時間。
setlocal EnableDelayedExpansion
set var1=true
if "%var1%"=="true" (
set var2=myvalue
echo !var2!
)
謝謝你只是倖免我一個巨大的痛苦。 – Myna 2013-03-15 21:32:14
Friggin的批處理腳本! – 2016-07-20 00:46:46
muito obrigado「」 – durtto 2017-10-25 19:49:09