将所有文件递归复制到一个文件夹中(无需重新创建文件夹)

时间:2013-03-04 19:31:47

标签: batch-file directory xcopy

使用批处理(.bat),我想复制D:\ TEMP

的1个子目录中的所有mp3文件
D:\TEMP\\(anyfolder)\\(anyfile.mp3)

E:\MYFOLDER\

我试过xcopy但是

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

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

提前致谢!

1 个答案:

答案 0 :(得分:9)

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

中尝试此操作
for /d %a in (*) do @echo %a

如您所见,它跟随当前目录中的所有子文件夹。

因此,

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

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