复制文件而不重新创建子目录

时间:2011-01-30 19:44:59

标签: windows cmd

我有一个目录,其中包含大约100个子文件夹,并且这些子文件夹中最多有2,000个文件(最多4层)。文件是.txt或.log,每个扩展名都有唯一的文件名。我需要将文件移动或复制(以较快者为准)到不同文件夹的根目录,而不像xcopy那样重新创建子文件夹结构。这是在Windows XP上

提前致谢。

现有:

Dir1\Folder1\000111.txt
Dir1\Folder2\000112.txt
Dir1\Folder3\000113.log
Dir1\Folder4\Dir2\000114.txt
Dir1\Folder4\Dir2\000115.txt
Dir1\Folder4\Dir2\000116.log
Dir1\Folder5\Dir3\000117.log
Dir1\Folder5\Dir3\000118.txt
Dir1\Folder5\Dir3\Dir4\000119.txt
Dir1\Folder5\Dir3\Dir4\000120.txt
Dir1\Folder5\Dir3\Dir4\000120.log
需要:
Dir9\000111.txt
Dir9\000112.txt
Dir9\000113.log
Dir9\000114.txt
Dir9\000115.txt
Dir9\000116.log
Dir9\000117.log
Dir9\000118.txt
Dir9\000119.txt
Dir9\000120.txt
Dir9\000120.log

1 个答案:

答案 0 :(得分:6)

如下:

for /R %f in (*.txt,*.log) do copy %f dir9\%~nf

dir1作为您的工作目录发出此信息。

阅读for /?以了解其原因。

当我处理for语句时,我倾向于首先尝试它们:

for /R %f in (*.txt,*.log) do @echo copy %f dir9\%~nf