for .... do (
call echo !line:%%foo%%=bar!
)
我在bat文件中用來代替變量%foo%
值的代碼。
但它的工作原理治療%foo%
作爲文字%
跡象。與命令echo !line:%%foo%%=bar!
(withtout call)的結果相同。 call
命令不起作用。 我不知道爲什麼它可以爲call echo %%foo%%
從bat文件讀取命令行後沒有工作,使call echo
將解析%foo%
值。關於「call echo!line:%% foo %% = bar!」
感謝@jeb,我現在知道了。由於我省略了「!」的運行優先級,感嘆號解析。在發佈這個問題之前,我通過call:label!foo!得到了一個解決方法,使用%1參數引用。 :) –