我有以下脚本:
FOR /F "tokens=1-4" %%A IN ("REG QUERY HKCU\Environment\") DO (
ECHO %%A
)
但是,如果我们将 ECHO %% A 更改为:
ECHO %A%
输出相同。
通常在批处理脚本中我用%A%回显我的变量,有什么不同,为什么人们有时会使用 %% A 作为% A%
答案 0 :(得分:1)
两种情况,有两个原因:
%
是在批处理文件中(而不是在命令行上)使用临时变量(例如for
循环)的文档化方法。%
放在变量的每一边是documented,作为扩展环境变量的方法。大概你的循环恰好起作用,因为临时变量在与环境变量相同的表中可见 - 但是像setlocal
范围内的变量一样,它就消失了。
MSDN文档在kb75634,从批处理文件文本中删除的百分号