我正在尝试更正一个使用 bang 字符的 bat 文件,我本来期望某种形式的引用:
就像是
set some_var=!some_var:"=\"!
然后后来
some command !some_var!
看起来第一个是在禁用回显的情况下提示输入,例如提示输入密码,第二个是引用变量。通常,bat 文件使用百分比字符,例如
%some_var%
有人知道bat文件中的bang字符到底做什么吗?尝试调试这个东西,并且不喜欢猜测。
From cmd /?
:
如果启用了延迟环境变量扩展,则
感叹号可以用来代替一个值
执行时的环境变量。
(The cmd
help 在其他地方描述了启用延迟环境变量扩展的各种方法。)
并从set /?
:
延迟环境变量扩展允许您使用不同的
字符(感叹号)来扩展环境变量
执行时间处理时间。
And
环境变量替换已增强如下:
%PATH:str1=str2%
将扩展 PATH 环境变量,替换每个出现的位置
扩展结果中的“str1”与“str2”。
你的情况set some_var=!some_var:"=\"!
因此正在更新some_var
取代"
字符与\"
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)