Batch file 批处理文件:在for循环中追加字符串

Batch file 批处理文件:在for循环中追加字符串,batch-file,Batch File,我有以下for循环: for /l %%a in (1,1,%count%) do ( <nul set /p=" %%a - " Echo !var%%a! ) myVar="1, 2, 3" 我需要创建一个基于迭代次数附加自身的变量。示例:在for循环之后,变量将如下所示: for /l %%a in (1,1,%count%) do ( <nul set /p=" %%a - " Echo !var%%a! ) myVar="1, 2, 3" 使用延迟扩展 setl

我有以下for循环:

for /l %%a in (1,1,%count%) do (
<nul set /p=" %%a - "

Echo !var%%a!
)
myVar="1, 2, 3"
我需要创建一个基于迭代次数附加自身的变量。示例:在for循环之后,变量将如下所示:

for /l %%a in (1,1,%count%) do (
<nul set /p=" %%a - "

Echo !var%%a!
)
myVar="1, 2, 3"
使用延迟扩展

setlocal enableextensions enabledelayedexpansion
SET OUTPUTSTRING=
for /l %%a in (1,1,%count%) do (
<nul set /p=" %%a - "
Echo !var%%a! 
if .!OUTPUTSTRING!==. (
    SET OUTPUTSTRING=%%a
) ELSE (
    SET OUTPUTSTRING=!OUTPUTSTRING!, %%a
)
)
SET OUTPUTSTRING
setlocal enableextensions enabledelayedexpansion
设置输出字符串=
对于(1,1,%count%)中的/l%%a,请执行以下操作(
例如:

@ECHO OFF &SETLOCAL
SET /a count=5
for /l %%a in (1,1,%count%) do call set "Myvar=%%Myvar%%, %%a"
ECHO %Myvar:~2%
…输出为:

1, 2, 3, 4, 5

我想知道第一个逗号到哪里去了,调用set操作的意义是什么?第一个逗号和空格被
echo%Myvar:~2%
行跳过,该行输出一个%Myvar%的子字符串,从前两个字符开始,最后是一个工作代码!!!我已经花了很长时间才开始查找它。谢谢!