我有一堆使用系統變數的命令,它們是一行命令,如下所示:
set test="blah" && echo %test%
但是,我注意到 set 命令的變數沒有為同一行上的命令「設定」。如果我重新運行第二個命令,它將能夠讀取更新後的變數。我可以使用 & 或 && ,效果是相同的。無論是批次檔還是簡單地將其放入命令提示字元中,都會出現此行為。
如何獲得set
影響&
or之後的語句的指令&&
?
答案1
這是因為整個命令列是立即計算的,因此變數test
在運行set
命令之前就已解析。
一個簡單的解決方法是將命令放在批次檔中的單獨行上並運行它。