2015-08-28 48 views
0

我试图纠正使用,我本来期望某种形式的报价砰字符的bat文件: 像bom字符在windows bat文件中的含义是什么?

set some_var=!some_var:"=\"! 

再后来

some command !some_var! 

它看起来像第一正在提示输入禁用回声,如提示输入密码,第二次引用变量。通常情况下,蝙蝠文件使用该百分比字符,像

%some_var% 

任何人都知道的爆炸性质确实恰好一个bat文件是什么?试图调试这个东西,而不喜欢猜测。

回答

4

cmd /?

如果延迟环境变量扩充被启用,则 惊叹号字符可被用于在执行时替换一个 环境变量的值。

(该cmd帮助介绍启用延迟的环境变量扩展的其他地方的各种方法。)

而且从set /?

延迟环境变量扩充允许您使用一个不同的 字符(感叹号)扩展环境变量 执行时间。

而且

环境变量替换已被增强如下:

%PATH:str1=str2% 

会扩展PATH环境变量,与膨胀的结果代以 “STR1” 的每次出现 “ STR2" 。

因此,您的set some_var=!some_var:"=\"!情况下更新some_var\"更换"字符。

相关问题