我曾尝试制作批处理脚本,将位于D:\ images(随机命名的子文件夹)中的所有* .tif文件复制到d:\ all。
xcopy D:\Downloads\*.TIF D:\temp\ /s
作品,但它复制与所有文件夹树。 我试图使用其他键,但它不工作。 感谢帮助!
FOR
是你的朋友。 在/R
选项和%~nx
变量替换中读取HELP FOR
; 然后尝试这个非常简单的代码。
pushd d:\downloads for /r %%a in (*.tif) do ( echo COPY "%%a" "d:\temp\%%~nxa" ) popd
仔细观察结果,然后删除ECHO
命令。
你将不得不完善的代码,以应付错误,重复的名称,边缘情况下,保留字符的名称,竞赛条件,宇宙事件…
搜索文件使用Windows文件浏览器例如* .gif,我在搜索窗口中获得文件,使用编辑=>全选,复制,然后粘贴到所需的文件夹。 这将所有子目录中的所有gif文件复制到单个文件夹。 对于大量的文件,它有时挂起/没有响应,但其他方面工作正常。
pushd D:\Source for /r %%a in (*.?*) do ( MOVE "%%a" "D:\Destination folder\%%~nxa" ) popd
您也可以使用XXCOPY免费软件。 像XCOPY一样工作,但是当您使用/ SG参数时,会使子目录变平。 看看如何在这里使用它。