16

我曾尝试制作将位于 D:\images(此处为随机命名的子文件夹)中的所有 *.tif 文件复制到 d:\all 的批处理脚本。

xcopy D:\Downloads\*.TIF D:\temp\ /s

有效,但它与所有文件夹树一起复制。我尝试使用其他键,但它不起作用。感谢帮助!

4

4 回答 4

40

FOR是你的朋友。阅读选项和变量替换HELP FOR;然后试试这个非常简单的代码。/R%~nx

   pushd d:\downloads
   for /r %%a in (*.tif) do (
     echo COPY "%%a" "d:\temp\%%~nxa"
   )
   popd

仔细观察结果,然后删除ECHO命令。

您将不得不改进代码以应对错误、重复名称、边缘情况、带有保留字符的名称、竞争条件、宇宙事件......

于 2012-07-30T11:54:49.840 回答
6

使用 windows 文件资源管理器搜索文件,例如 *.gif ,我在搜索窗口中找到文件,使用 Edit=>Select All ,复制然后粘贴到所需的文件夹。这将所有子目录中的所有 gif 文件复制到单个文件夹。对于大量文件,它有时会挂起/没有响应,但其他工作正常。

于 2014-04-22T09:55:02.757 回答
3
pushd D:\Source
   for /r %%a in (*.?*) do (
       MOVE "%%a" "D:\Destination folder\%%~nxa"
   )
popd
于 2013-12-27T18:18:57.490 回答
1

您还可以使用 XXCOPY 免费软件。像 XCOPY 一样工作,但是当您使用 /SG 参数时,它会展平子目录。在这里查看如何使用它。

于 2013-06-15T16:08:42.363 回答