标题: [文件操作] [已解决]BAT批处理如何将TXT文件分成每5000行一个小文件? [打印本页]
作者: DDDYJQ1 时间: 2014-3-28 16:07 标题: [已解决]BAT批处理如何将TXT文件分成每5000行一个小文件?
本帖最后由 DDDYJQ1 于 2014-3-29 09:42 编辑
请问如何将一个大的TXT文件分成每5000行一个小的TXT文件,最后一个不能超过5000行,先谢了
作者: Batcher 时间: 2014-3-28 17:10
# 批处理分割文本文件:按指定行数分割
http://bbs.bathome.net/thread-1181-1-1.html
http://bbs.bathome.net/thread-4440-1-1.html
http://bbs.bathome.net/thread-5380-1-1.html
http://bbs.bathome.net/thread-11549-1-1.html
http://bbs.bathome.net/thread-15394-1-1.html
http://bbs.bathome.net/thread-17363-1-1.html
http://bbs.bathome.net/thread-21506-1-1.html
http://bbs.bathome.net/thread-23199-1-1.html
http://bbs.bathome.net/thread-27116-1-1.html
# 批处理分割文本文件:按指定大小分割
http://bbs.bathome.net/thread-2104-1-1.html
# 批处理分割文本文件:按份数或大小分割
http://bbs.bathome.net/thread-7955-1-1.html
http://bbs.bathome.net/thread-10933-1-1.html
http://bbs.bathome.net/thread-14592-1-1.html
# 批处理分割文本文件:按行数或字数分割
http://bbs.bathome.net/thread-2822-1-1.html
# 批处理分割文本文件:按章节分割
http://bbs.bathome.net/thread-6323-1-1.html
# 批处理分割文本文件:按关键字分割
http://bbs.bathome.net/thread-25360-1-1.html
作者: 522235677 时间: 2014-3-28 17:19
- @echo off & setlocal enabledelayedexpansion
- set nname=1
- for /f "delims=" %%a in (test.txt) do (
- set /a n+=1
- set /a s=!n!%%5000
- if "!s!"=="0" set /a nname+=1
- echo %%a >>test!nname!.txt
- )
复制代码
作者: xudaweb 时间: 2014-3-28 17:50
回复 3# 522235677
测试了一下这段代码,发现第一个文件总是少一个,没找出原因。。。
作者: 522235677 时间: 2014-3-28 18:08
本帖最后由 522235677 于 2014-3-28 18:24 编辑
回复 4# xudaweb - @echo off & setlocal enabledelayedexpansion
- set nname=1
- for /f "delims=" %%a in (test.txt) do (
- if !n! gtr 0 set /a s=!n!%%5000
- if "!s!"=="0" set /a nname+=1
- echo %%a >>test!nname!.txt
- set /a n+=1
- )
复制代码
现在可以了
作者: DAIC 时间: 2014-3-28 20:07
回复 5# 522235677
这样会导致行尾产生多余的空格吧
作者: DDDYJQ1 时间: 2014-3-28 21:35
对啊,这样会导致行尾产生多余的空格吧,文件变大了
作者: terse 时间: 2014-3-28 22:28
这样效率是否提高点- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%a in (test.txt) do (
- set /a"n=m/5000,m+=1"
- >>test!n!.txt echo %%a
- )
复制代码
作者: DDDYJQ1 时间: 2014-3-29 09:43
谢了,就是这样子,太好了,
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |