[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助批处理把多个文本按指定数量分到多个文件夹里

我有5w+图标都是 jpg 模式的  命名有规律为1起到58554  想每100个文件分到1个文件夹里面  按照顺序 就是第一个文件夹 里面是1-100  第二个文件夹 里面是101-200 以此类推 怎么能办到  
主要是顺序 这些图片前后都有关联  所以得按照编号的顺序才可以
请各位大神指教下   请各位大佬帮帮忙

文件名1到58554的话 那就FOR循环啊

TOP

本帖最后由 terse 于 2023-2-20 21:06 编辑

路径有中文的话 注意BAT文件编码 这里文件夹是ABC
  1. @echo off&setlocal enabledelayedexpansion
  2. set "f=abc"
  3. for /l %%i in (1,1,58554) do (
  4.      set /a "num=(%%i-1)/100+1"
  5.      md "%f%\!num!\" 2>nul
  6.      move "%f%\%%i.jpg" "%f%\!num!\"
  7. )
  8. pause
复制代码

TOP

厚颜无耻的推荐一下我的这个帖子
http://www.bathome.net/thread-26027-1-1.html批处理移动指定数量文件到指定新建文件夹
目的,学习批处理

TOP

回复 4# hlzj88


    大佬 你这个不错  但是文件不能按照顺序排列呀  比如一个文件夹里 第一个文件是579  第二个变成5789了  我要的是 579  580  581  这样的顺序 有什么办法吗 大佬

TOP

回复 3# terse


    大佬 你这个提示系统找不到制定文件 是什么意思

TOP

回复 6# q062481
查一下路径和文件编码
还有 批处理放在什么位置的

TOP

回复 7# terse


    大佬   批处理就是放在了片的文件夹里呀 里面只有图片和批处理  文件夹路径为 g盘-新建文件夹2-photos  点进去就是图片了   编码格式为 ANSI

TOP

回复 8# q062481

如果BAT文件和图片在一个文件夹 把第二行 abc 改为%~dp0 试

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a n1=n2=0
  4. for /l %%i in (1,1,58554) do (
  5.     if %%i leq !n2! (
  6.         move "%%i.jpg" "!n1!-!n2!\"
  7.     ) else (
  8.         set /a n2+=100
  9.         set /a n1=n2-99
  10.         md "!n1!-!n2!"
  11.         move "%%i.jpg" "!n1!-!n2!\"
  12.     )
  13. )
  14. pause
复制代码

TOP

回复 9# terse


    还是不行 我用下面那个大佬的成功了  感谢

TOP

回复 10# qixiaobin0715


    大佬牛逼  感谢 非常感谢

TOP

回复 11# q062481
脚本和图片放在一个文件夹的话 去掉路径就可以
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1,1,58554) do (
  3.      set /a "num=(%%i-1)/100+1"
  4.      md "!num!\" 2>nul
  5.      move "%%i.jpg" "!num!\"
  6. )
  7. pause
复制代码

TOP

回复 13# terse


    可以了 感谢大佬  麻烦再问一下  如果文件名更改的话  比如文件名为 a b c d 这样的改哪个位置就可以直接用呀  大佬

TOP

回复 14# q062481
如你所说 把原来的1.jpg 更改为a.jpg
第五行 这里指定文件名 move...... "!num!\a.jpg"
但你批量修改的话要修改代码的

TOP

返回列表