[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,500) do (
  4.     set /a "n=(%%i-1)/10+1"
  5.     type "D:\KZ1\%%i.txt" >> "D:\KZ2\!n!.txt"
  6. )
  7. pause
复制代码
1

评分人数

TOP

本帖最后由 qixiaobin0715 于 2024-12-2 16:54 编辑

这样可以不必限定文件个数:
  1. @echo off
  2. cd /d "D:\KZ1"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d *.txt^|findstr /be "[1-9][0-9]*\.txt"') do (
  5.     set /a "n=(%%~ni-1)/10+1"
  6.     type "%%i">>"D:\KZ2\!n!.txt"
  7. )
  8. pause
复制代码
需要注意的是,个别文件合并顺序可能会不一样。比如1-10这一组,合并顺序是1.txt,10.txt,2.txt-9.txt。


回复 1# 思想之翼
参考5楼的写法,这样效率要高一些:
  1. @echo off
  2. cd /d "D:\KZ1"
  3. setlocal enabledelayedexpansion
  4. for /f "delims=" %%i in ('dir /b /a-d *1.txt') do (
  5.     set n1=%%~ni
  6.     set "n=(n1-1)/10+1"
  7.     set /a n2=n1+9
  8.     (for /l %%j in (!n1!,1,!n2!) do (
  9.         if exist %%j.txt type %%j.txt
  10.     ))>"D:\KZ2\!n!.txt"
  11. )
  12. pause
复制代码
不必评分,能解决问题就好。
1

评分人数

TOP

返回列表