Windows批处理将文件从子文件夹复制到一个文件夹

Ser*_*hmp 14 windows copy xcopy batch-file

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

xcopy D:\Downloads\*.TIF D:\temp\ /s
Run Code Online (Sandbox Code Playgroud)

工作,但它复制所有文件夹树.我试图使用其他键,但它不起作用.感谢帮助!

PA.*_*PA. 38

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

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

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

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

  • 呵呵,特别是处理“宇宙事件”;) (3认同)

小智 5

使用Windows文件浏览器搜索* .gif文件,例如* .gif,我在搜索窗口中找到文件,使用Edit => Select All进行复制,然后粘贴到所需的文件夹中。这会将所有子目录中的所有gif文件复制到单个文件夹中。对于大量文件,它有时会挂起/没有响应,但可以正常运行。