|
|
发表于 2011-2-28 02:05:15
|
显示全部楼层
还是纯批,请选择好合适的分隔符,要求分隔符在文字中出现总次数不大于31次,同时每两个分隔符间的文字不大于4096个:- @echo off&setlocal enabledelayedexpansion
- del /q part_*.txt 2>nul
- set /p zx=请输入最小字符数:
- set /p zf=请输入分隔符:
- set /a n=1,m=1
- :lp
- for /f "tokens=%n%* delims=%zf%" %%a in (a.txt) do (
- set "str=%%a"&set /a min=0,pin=8192
- for /l %%c in (1,1,14) do (
- for %%c in (!pin!) do (
- if "!str:~%%c!" equ "" (
- set /a max=pin
- ) else (
- set /a min=pin
- )
- set /a "pin=max+min,y=pin%%2,pin=pin/2+y"
- )
- )
- set /a num+=pin
- if !num! geq %zx% (
- >>part_!m!.txt echo !var!!str!
- set /a m+=1,num=0&set "var="
- ) else (
- set "var=!var!!str!"
- )
- set /a n+=1&goto lp
- )
- >>part_%m%.txt echo !var!
- echo 搞定。&pause>nul
复制代码 |
|