如何在不扩展变量的情况下setx?

时间:2014-04-15 20:10:48

标签: batch-file

我试图将变量设置为值而不扩展该变量。如,

setx var1 "%nested_var%\dir"

结果是var1被赋予了扩展的字符串,而我更确切地说它并没有包含扩展的变量。我尝试了很多没有结果的方法。

请注意,这是在命令行上完成的,而不是在批处理文件中完成的。

2 个答案:

答案 0 :(得分:1)

如果从命令提示符运行命令,则可以使用转义字符^,但必须删除引号,否则它将包含转义字符到变量。

命令为setx var1 ^%nested_var^%\dir

从批处理中留下引号,你可以通过加倍百分比来逃避变量扩展。

批量使用setx var1 %%nested_var%%\dirsetx var1 "%%nested_var%%\dir"

希望这有帮助

答案 1 :(得分:0)

如果使用命令提示符下的setx命令,则不得扩展内部环境变量并且环境变量具有空格,然后使用以下语法:

setx var1 ^"^%nested_var^%\some dir^"