Windows batch copy files from subfolders to one folder

ぃ、小莉子 提交于 2020-01-22 09:01:26

问题


I had tried to make batch script that copies all *.tif files located in D:\images(random named subfolders here) to d:\all.

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

works, but it copies with all folder tree. I tried to use other keys, but its dont works. Thanks for help!


回答1:


FOR is your friend. Read HELP FOR on the /R option and the %~nx variable substitution; and then try this very simple code.

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

watch carefully the results and then remove the ECHO command.

You will have to refine the code to cope with errors, duplicate names, edge cases, names with reserved characters, race conditions, cosmic events...




回答2:


Searched files using windows file explorer for e.g. *.gif , I got files in search window, used Edit=>Select All , copy and then pasted to desired folder. This copied all the gif files in all sub directories to single folder. For large number of files, it sometimes hangs/not responding, but otherwise works ok.




回答3:


pushd D:\Source
   for /r %%a in (*.?*) do (
       MOVE "%%a" "D:\Destination folder\%%~nxa"
   )
popd



回答4:


You can also use the XXCOPY freeware. Works like XCOPY, but when you use a /SG parameter, it flattens the sub-directories. See how to use it here.



来源:https://stackoverflow.com/questions/11720681/windows-batch-copy-files-from-subfolders-to-one-folder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!