【发布时间】:2016-12-18 22:16:20
【问题描述】:
所以当我运行这段代码时:
@echo off
setlocal enabledelayedexpansion
set lstFolders= First Second
set intCounter=0
for %%i in (!lstFolders!) do (
set /a intCounter += 1
set strFlder=%%i
set strFolder!intCounter!=!strFlder!
echo %%i
echo !strFlder!
echo !strFolder%intCounter%!
echo !strFolder1!
echo !strFolder2!
)
:End
pause
endlocal
结果如下:
First
First
ECHO is off.
First
ECHO is off.
Second
Second
ECHO is off.
First
Second
为什么它不允许我使用以下格式回显变量创建:!strFolder%intCounter%!?还有其他方法可以引用这个变量并获取其中的数据吗?
【问题讨论】:
-
虽然不是完全重复,因为 this 问题还间接询问 creating 变量(并专注于使用延迟评估),以下问题密切相关:stackoverflow.com/q/9369874/45375
标签: variables batch-file echo indirection