2012-03-23 75 views
3

我想運行一個cmd.exe,它可以在調用時評估環境變量,而不是在何時解析命令。如果我將BASE設置爲2並回顯它,我應該看到數字2,儘管運行此腳本沒有正確設置基數。爲命令提示符擴展環境變量

預期的行爲: C:\Users\schristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" 2 Press any key to continue . . .

實際行爲: C:\Users\schristo>cmd.exe /X /C "set BASE=2 && echo %BASE% && pause" %BASE% Press any key to continue . . .

回答

5

這應該爲你工作:

cmd.exe /X /V:ON /C "set BASE=2&&echo !BASE!&&pause"

/V:ON使變量延遲擴展,這是你所需要的是什麼。開關的順序(/V:ON /C)很重要。

+0

我錯過了/ V:ON和!BASE!部分。 – Steve 2012-03-23 19:30:06