1
影響我剛剛發現,如果你做到以下幾點:直到新線運行設置變量,並採取在一個批處理命令行
set Variable=Test & echo %Variable% --Outputs "%Variable%"
echo %Variable% --Outputs "Test"
的變化將不會生效。我需要立即生效,因爲我需要使用一條很長的一行命令。
影響我剛剛發現,如果你做到以下幾點:直到新線運行設置變量,並採取在一個批處理命令行
set Variable=Test & echo %Variable% --Outputs "%Variable%"
echo %Variable% --Outputs "Test"
的變化將不會生效。我需要立即生效,因爲我需要使用一條很長的一行命令。
您需要延遲擴展或call echo
:
@echo off
setlocal enableDelayedExpansion
set var=val&echo !var!
endlocal
set var=val&call echo %%var%%
如果有命令的成分放在一起用&
或括號set命令生效後,所有的人都executed.So需要或延遲擴展(這將讓你與!
代替%
訪問的變量),或致電
爲了能夠在命令提示符下延遲擴展,你需要這樣開始cmd /v:on
:
>cmd /v:on
>set Variable=Test & echo !Variable!
它的工作,但我不知道如何使用它與其餘的命令。在這之後,我必須在每一個命令前面打電話嗎?編輯:我剛看到你的新評論。讓我試試看。 – 2014-09-20 16:08:39
好的,它的工作。謝謝你的幫助! – 2014-09-20 16:21:20