标题: [文本处理] 批处理如何将txt文本内容按指定行数分割成多个以数字递增命名的txt文本 [打印本页]
作者: wwddhmh 时间: 2012-11-17 00:00 标题: 批处理如何将txt文本内容按指定行数分割成多个以数字递增命名的txt文本
本帖最后由 pcl_test 于 2016-7-18 18:39 编辑
文本里有N行数字我想用批处理 每20行 或者 30行 或者40行 就分为一个文本!并保存到任意文件夹内。以1 2 3 4 到N。。命名!!有办法实现么。。现在下载的文本分割器不是固定大小 就是固定份数。。
说明:每个文本的行数是一样的。数字的多少不一样
作者: nameyu8023 时间: 2012-11-17 17:25
- @echo off&setlocal enabledelayedexpansion
- title 分割
- ::要分割的文件路径
- set path1=D:\test\查找到的文件路径.log
- ::要保存的目标路径,例如: d:\file\tt 不可为文件
- ::分割后的形式如: d:\test\1.txt d:\test\2.txt
- set path2=D:\test
- ::每段要分割的行数
- set number=40
- ::-----------以下无需修改---------------------
- set filenames=0
- set numbers=0
- set filename=1
- for /l %%b in (1,1,7) do echo\
- echo 文件 ^"%path1%^"
- echo\
- echo 执行中,请稍后...
- echo\
- for /f "delims=" %%a in (%path1%) do (
- set /a numbers+=1
- set /a filenames+=1
- echo %%a>>%path2%\!filename!.txt
- if !numbers! geq !number! (
- set /a filename+=1
- set numbers=0
- )
- )
- echo\
- echo 文件 ^"%path1%^";
- echo\
- echo 共 %filenames% 行,分割为 %filename% 段,每段为 %number% 行.
- echo\
- echo 已完成.
- echo OK!
- pause>nul
复制代码
XP系统。。。
作者: pcl_test 时间: 2016-7-18 18:57
第三方- gawk "NR%%20==1{close(n\".txt\");++n}{print>n\".txt\"}" "文本.txt"
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |