Windows

在命令提示符 cmd 中轉義變數

  • January 24, 2014

我這樣設置我的變數:

SET Ant="%HOMEDRIVE%%HOMEPATH%\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin"

:: Set Path variable  
setx PATH "%Ant%" /m

然後,路徑變數的結果是:

C:\Users\Ruben\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin

正如我們所看到的,環境變數被擴展了。

我希望它們不要被擴展來設置我的路徑變數,如下所示:

%HOMEDRIVE%%HOMEPATH%\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin

有沒有辦法不擴展環境變數?

這可以在我的 Win7 上解決問題:

SET Ant=^%HOMEDRIVE^%^%HOMEPATH^%\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin

setx PATH "%Ant%" /m

讓我們檢查一下是否一切正常:

echo %Ant%
%HOMEDRIVE%%HOMEPATH%\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin

set | findstr Ant
Ant=%HOMEDRIVE%%HOMEPATH%\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin

一切似乎都很好:)

為了使它工作,我必須:

  • %使用脫字元 ( )轉義字元^
  • 刪除雙引號。

引用自:https://serverfault.com/questions/569553