在这种情况下:
@Echo off
Setlocal EnableDelayedExpansion
Set /a cnt=0
For /f "delims=" %%A in ('type "Test.txt"') do (
Set /a "cnt=!cnt!+1"
Set "var!cnt!=%%A"
)
Set /a "cnt2=0"
For /F %%B in ('Dir /a:d /b') Do (
Set /a cnt2=!cnt2!+1
Echo !%var%%cnt2%!
)
Run Code Online (Sandbox Code Playgroud)
"varcnt2"由变量"var"和"cnt2"组成.虽然我期望的输出是:
AqNaTwIznj
dl4lMkYorm
gDtdyFmptd
MmrbIoJrUu
NszuIe8ZMt
QbWYTy7oqC
xUbBgKifGD
y0ouJH3EtK
ZSZxlSnBlQ
zVyRcCFXrM
Run Code Online (Sandbox Code Playgroud)
(Test.txt的内容)我总是得到别的东西.我试过放置%和!以各种方式,但没有一个有效.这里有些例子:
!var!cnt2!!
输出 cnt2
%var!cnt2!%
输出 Echo is off
%var%!cnt2!%
输出 1 2 3 4 5 6 7 8 9 10
!%var%%cnt2%!
输出 Echo is off
上次我遇到这个,我写了这个批处理文件来测试这个:
@Echo …
Run Code Online (Sandbox Code Playgroud)