本帖最后由 qixiaobin0715 于 2024-12-2 16:54 编辑
这样可以不必限定文件个数:- @echo off
- cd /d "D:\KZ1"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d *.txt^|findstr /be "[1-9][0-9]*\.txt"') do (
- set /a "n=(%%~ni-1)/10+1"
- type "%%i">>"D:\KZ2\!n!.txt"
- )
- pause
复制代码 需要注意的是,个别文件合并顺序可能会不一样。比如1-10这一组,合并顺序是1.txt,10.txt,2.txt-9.txt。
回复 1# 思想之翼
参考5楼的写法,这样效率要高一些:- @echo off
- cd /d "D:\KZ1"
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d *1.txt') do (
- set n1=%%~ni
- set "n=(n1-1)/10+1"
- set /a n2=n1+9
- (for /l %%j in (!n1!,1,!n2!) do (
- if exist %%j.txt type %%j.txt
- ))>"D:\KZ2\!n!.txt"
- )
- pause
复制代码 不必评分,能解决问题就好。 |