无法在批处理文件

时间:2016-01-09 03:23:28

标签: arrays batch-file

我知道这个问题已经得到了很多答案,但我一直在寻找所有的答案,我认为这次我说得对,但我仍然无法使用变量作为数组的元素回显索引号。这是代码:

setlocal enableDelayedExpansion
set Dir=C:\Users\ADMIN\Downloads
set /a counter=0
for /f %%F in ('dir /b "%profDir%"') do echo %%F>>"%profDir%\temp.txt"
for /f %%F in (%profDir%\temp.txt) do (set m[!counter!]=%%F & set /a counter+=1)
echo !m[%counter%]!
pause

临时文件包含我搜索的目录的所有文件名,但是我想稍后将“数组”用于其他任务,直到我最终做到这一点后才能继续。

感谢。

1 个答案:

答案 0 :(得分:1)

由于您在分配了值后增加了counter ,因此第二个counter之后for的值是下一个数组条目创建

尝试使用

set m[

显示环境中显示的所有值

set /a kounter=counter-1
for /l %%a in (0,1,%kounter%) do echo !m[%%a]!
for /l %%a in (0,1,%kounter%) do call echo %%m[%%a]%%

列出它们

[注意:已修​​复%m[%%a]%!m[%%a]!并添加了进一步的展示方式(致电...)]