请教大神,用bat怎么处理?
有个5000行的txt文件,文件开头两行固定是aaa和bbb,现在想分成5个1000行的文件,每个文件开头还是aaa和bbb,...
有个5000行的txt文件,文件开头两行固定是aaa和bbb,现在想分成5个1000行的文件,每个文件开头还是aaa和bbb,
展开
2个回答
展开全部
@echo off&setlocal enabledelayedexpansion
set n=0
set m=0
set "file=5000"
for /f "delims=" %%a in (%file%.txt) do (
if !m! equ 0 set "start=%%~a"
set !m! equ 1 set "second=%%~a"
set /a m+=1
if !m! gtr 1 goto :next
)
:next
set m=0
for /f "skip=2 delims=" %%a in (%file%.txt) do (
if !m! equ 0 (
set /a n+=1
echo.%start% >> %file%!n!.txt
echo.%second% >> %file%!n!.txt
)
echo.%%a >> %file%!n!.txt
set /a m=m+1
set /a m%%=1000
)
假设txt文件名为5000.txt ,set "file=5000"这句中5000为原txt文件的主文件名,
微测检测5.10
2023-05-10 广告
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
展开全部
@echo off
setlocal enabledelayedexpansion
set cols=1000
md test
md result
echo aaa>>test\temp.txt
echo bbb>>test\temp.txt
set name=1
for /f "delims=" %%a in (A.txt) do (
set /a n+=1
echo %%a>>test\!name!.txt
if !n! equ %cols% ( copy /b test\temp.txt + test\!name!.txt result\new!name!.txt>nul & set /a name+=1,n=0 )
)
rd /s /q test
echo 处理完毕 & pause>nul
start result & exit
——————————————————
以上代码中
cols=1000 ,是以1000行分割文本,如果加上aaa和bbb那两行,文本就是1002行。所以有必要的话,数字1000改为998。
A.txt 表示需要分割的文档,具体运用时,注意把A改为你需要分割的文本文件名。
over.
追问
大神,更进一步追问一下呀,这个aaa再具体细化一下。因为原来的文件已经有aaa和bbb了,所以分割的第一个文件不需要加,从第二个文件才需要加,而且aaa具体包含3个字段第一个字段是aaa固定不变的+第二个字段是序号每个文件递增+第三个字段是每个文件的行数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询