在命令提示符 cmd 中转义变量

在命令提示符 cmd 中转义变量

我像这样设置变量:

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

有没有办法不扩展环境变量?

答案1

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

一切似乎都很好:)

为了使它工作我必须:

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

相关内容