【问题标题】:copy all files recursively into a single folder (without recreating folders)将所有文件递归复制到一个文件夹中(不重新创建文件夹)
【发布时间】:2013-03-04 19:31:47
【问题描述】:

使用批处理 (.bat),我想复制 D:\TEMP 的 1 个子目录中的所有 mp3 文件

D:\TEMP\\(anyfolder)\\(anyfile.mp3)

E:\MYFOLDER\

我尝试使用 xcopy 但是

  • 我不知道如何判断“只递归 D:\TEMP 的子文件夹,而不是子子文件夹、子子文件夹等”

  • 使用 xcopy 时,会在目标中创建文件夹(为了复制源的文件夹树),我不希望这样:文件应该只复制到 1 个文件夹中。

【问题讨论】:

标签: batch-file directory xcopy


【解决方案1】:

for 命令是你的朋友。阅读help for,然后在命令提示符下试试这个

for /d %a in (*) do @echo %a

如您所见,它位于当前目录中的所有子文件夹之后。

因此,

for /d %a in (*) do @copy %a\*.mp3 e:\myfolder

会将您所有的 mp3 复制到目标文件夹。

【讨论】: