在命令提示符cmd中转义variables

我设置我的variables是这样的:

SET Ant="%HOMEDRIVE%%HOMEPATH%\Downloads\apache-ant-1.9.0-bin\apache-ant-1.9.0\bin" :: Set Path variable setx PATH "%Ant%" /m 

然后,pathvariables的结果是:

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

我们可以看到,环境variables被扩展了。

我希望他们不要被扩大到像这样设置我的pathvariables:

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

有没有办法不扩大环境variables?

这在我的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 

一切似乎确定:)

为了使它工作,我不得不:

  • 使用插入符( ^ )来转义%字符。
  • 删除双引号。