我正在尝试使用批处理文件将文件列表复制到特定目录。我需要做的第一件事是创建一个文件名列表。我看到这篇文章Create list or arrays in Windows Batch。以下工作正常。但我对它在一条线上的事实并不满意。随着我的文件列表变得越来越大,它变得难以阅读。
set FILE_LIST=( "file1.txt" "file2.txt" "file3.txt" )
然后我注意到了blog。它创建一个包含多行的数组。
set FILE_LIST[0]="file1.txt"
set FILE_LIST[1]="file2.txt"
set FILE_LIST[2]="file3.txt"
我想知道是否有一种创建数组的方法如下:
set FILE_LIST=( "file1.txt"
"file2.txt"
"file3.txt" )
这样我就可以将文件名分成多行,而不需要担心索引。
答案 0 :(得分:7)
在你所指的同一主题中,有相当于这个解决方案(下面“你也可以用这种方式创建一个数组”):
setlocal EnableDelayedExpansion
set n=0
for %%a in ("file1.txt"
"file2.txt"
"file3.txt"
) do (
set FILE_LIST[!n!]=%%a
set /A n+=1
)