如何将数组中指定的文件复制到另一个文件夹

时间:2013-12-16 06:58:34

标签: batch-file for-loop

我的文件夹“all”包含许多文件。在里面我放了一个批处理文件,我想将一些文件从“all”文件夹复制到“inner”文件夹中。我要复制的文件我在批处理文件中的数组“files”中指定。批处理文件应包含什么?这似乎不起作用:

set sources[0]="file1.txt"
for /F "tokens=2 delims==" %%s in ('set sources[') do xcopy /s "path\to\source\%%s" "path\to\source\inner\%%s"

1 个答案:

答案 0 :(得分:1)

1 - 引号存在“问题”。您正在引用文件名和完整路径,包括仍然引用的文件名,因此您以"path\to\source\"file1.txt""结尾。它可以按原样工作,但有时它会产生问题。使用正确的引用。

2 - xcopy /s用于递归目录复制。不是单个文件复制。

尝试

set "sources[0]=file1.txt"
for /F "tokens=2 delims==" %%s in ('set sources[') do (
    copy "path\to\source\%%~s" "path\to\source\inner\%%~s"
)