Board logo

标题: [文件管理] 批处理移动指定数量文件到指定新建文件夹 [打印本页]

作者: hlzj88    时间: 2013-8-24 23:47     标题: 批处理移动指定数量文件到指定新建文件夹

很久没来坛子了,来了就发一贴。
坛友好。
曾经看到有的网友提出要把海量的同类型文件要按一定数量拷贝到类似文件夹下进行整理,当然我也遇到这样的问题,所以就自己组织了下面这个批处理,现在把它分享出来,希望能帮到需要的人。
  1. @echo off&color 3e&title 移动指定数量文件到指定新建文件夹--by仰天长啸
  2. setlocal enabledelayedexpansion
  3. :: 主体来自网络并自己修改
  4. echo.
  5. echo        本工具要和文件放在一起使用---by仰天长啸
  6. echo.
  7. set /p qind=请输入将要移动的文件类型 如*.jpg 全部请输入*.* -----^>
  8. echo.
  9. set /p wind=请输入你想要的文件夹的《主名称》               -----^>
  10. echo.
  11. set /p lind=请输入你想要的每个文件夹里的文件数量           -----^>
  12. echo.
  13. echo 未来的文件夹名称为 %wind%_%lind%_序号 不如意请编辑本文件
  14. echo.
  15. echo 请确认你的决定 否定需关闭现在窗口 确定按任意键继续
  16. echo.
  17. echo 文件的多少决定用时长短 请耐心等待 一个不剩 最后文件夹可能不够数
  18. pause>nul
  19. :: 修改新建文件夹关键词%wind%_%lind%_!m!
  20. for /f "delims=" %%a in ('dir/b/a-d %qind%')do (  
  21. set /a n+=1,"mm=!n!%%%lind%"
  22.   if !mm! equ 0 (set/a m+=1&md %wind%_%lind%_!m!)
  23.   echo   正在移动: %%a ===^>  %wind%_%lind%_!m!
  24.   move "%%a" %wind%_%lind%_!m!\ >nul)
  25. echo.
  26. set /a qq=%n%/(%lind%*!m!)
  27. if !qq! lss 1 (echo   共处理%n%个文件,共建!m!个文件夹 第!m!文件夹里文件数量不足%lind%个) ELSE echo   共处理%n%个文件,共建!m!个文件夹 刚好装满
  28. if !qq! lss 1 (echo.>整理记录.txt&echo   整理时间 %date%%time%>>整理记录.txt&echo.>>整理记录.txt&echo   共处理%n%个文件,共建!m!个文件夹,每文件夹包含%lind%个%qind%文件,第!m!文件夹里文件数量不足%lind%个>>整理记录.txt) ELSE echo.>整理记录.txt&echo   整理时间 %date%%time%>>整理记录.txt&echo.>>整理记录.txt&echo   共处理%n%个文件,共建!m!个文件夹,每文件夹包含%lind%个%qind%文件,刚好装满>>整理记录.txt
  29. echo/&echo 按任意键退出...&pause>nul
复制代码
批处理之家 大家的家 向坛主问好
作者: liziyunabcd    时间: 2019-10-5 21:48

感觉我用得上,我试试,楼主幸苦了、




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2