批处理之家's Archiver

hlzj88 发表于 2013-8-24 23:47

批处理移动指定数量文件到指定新建文件夹

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

liziyunabcd 发表于 2019-10-5 21:48

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

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.