我正在编辑一个给我的批处理文件,我不确定以下代码行是做什么的:
设置allKeys =%allKeys%!currentKey!
谢谢!
答案 0 :(得分:0)
它将空格后面的变量currentkey
的运行时值附加到解析时值allkeys
,并将结果指定为allkeys
的运行时值 - 提供了delayedexpansion
。如果未调用delayedexpansion
,则会附加字符串!currentKey!
,而不是变量currentkey
的值。
如果没有任何背景信息,我们会猜测......
答案 1 :(得分:0)
以下是代码中的示例。
allkeys设置在for for循环之外。
在for for do循环中,它会被更改,但因为它使用%allkeys%,所以更改不会累积。
@echo off
setlocal enabledelayedexpansion
set allkeys=one
for %%a in (two three four five six) do (
set currentkey=%%a
set allKeys=%allKeys% !currentKey!
echo allkeys is now "!allkeys!"
)
echo allkeys is now "%allkeys%" outside the loop
pause
更改此行
set allKeys=%allKeys% !currentKey!
对此并运行它以查看差异。
set allKeys=!allKeys! !currentKey!
答案 2 :(得分:0)
有关延迟展开坐标的说明,请输入SET /?
。