很久没来坛子了,来了就发一贴。
坛友好。
曾经看到有的网友提出要把海量的同类型文件要按一定数量拷贝到类似文件夹下进行整理,当然我也遇到这样的问题,所以就自己组织了下面这个批处理,现在把它分享出来,希望能帮到需要的人。- @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
复制代码 批处理之家 大家的家 向坛主问好 |