找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28506|回复: 4

[文件操作] 【已解决】批处理把5000个文件拆为4个为一组,放进序号增序新文件夹

[复制链接]
发表于 2021-6-7 14:27:26 | 显示全部楼层 |阅读模式
本帖最后由 朱科技 于 2022-12-28 10:41 编辑

5000个文件拆为4个为一组,每组放进一个新的文件夹以序号增序命名,原来有提问过
数据排列示例:
1,2,4,6,6副本,7-副本,8,10

原来提取出现了问题:
   错误了提取1,2,4 (或者错误的提取1,10,11,12)

达到结果“按排列顺序”提取1,2,4,6
发表于 2021-6-7 21:27:11 | 显示全部楼层
回复 1# 朱科技


    请把上个帖子的链接发出来看看,以便修改之前的代码。
发表于 2021-6-7 21:33:47 | 显示全部楼层
假设源文件在C:\Users\Administrator\Desktop\test;批处理文件可在任意地方。
不知是不是这么个意思,效率应当不是太高。未测试:
  1. @echo off
  2. set "folder=C:\Users\Administrator\Desktop\test"
  3. set m=10000
  4. cd /d "%folder%"
  5. setlocal enabledelayedexpansion
  6. for /f "delims=" %%i in ('dir /b /a-d ^|findstr /ev bat') do (
  7. set "var=%%i"
  8. for /f "tokens=* delims=0123456789" %%j in ("%%i") do (
  9. set /a "n=m+!var:%%j=!"
  10. set "-!n!=%%i"
  11. )
  12. )
  13. for /f "tokens=1* delims==" %%a in ('set -') do (
  14. set /a x+=1
  15. set /a "y=(x-1)/4+1"
  16. if not exist !y! md !y!
  17. move "%%b" "!y!"
  18. )
  19. pause
复制代码
发表于 2021-6-8 11:23:27 | 显示全部楼层
文件名,前面部分是数字,数字按 [int] 排序,其他按字符排序
类似 [version]

  1. get-childitem -name | Sort-Object -Property { [version] $_ }
复制代码
发表于 2021-6-8 20:53:45 | 显示全部楼层
Test.bat
  1. @echo off & setlocal enabledelayedexpansion
  2. if "%~1" NEQ "Arg" (
  3.     set n=0
  4.     for /f "tokens=1*" %%i in ('"%~f0" Arg ^| sort') do (
  5.         set /a m=n/4+1, n+=1
  6.         md !m! 2>nul
  7.         move "%%j" !m!\
  8.     )
  9.     pause & exit
  10. ) else (
  11.     for %%i in ( 0*,1*,2*,3*,4*,5*,6*,7*,8*,9* ) do (
  12.         set "s=%%i"
  13.         for /f "tokens=*delims=0123456789" %%j in ("%%i") do (
  14.             set "s=00000!s:%%j=!"
  15.         )
  16.         echo;!s:~-5! %%i
  17.     )
  18. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 07:25 , Processed in 0.016980 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表