标题:
[文本处理]
批处理如何将文本B的指定行内容插入到文本A中并将指定行内容行首的数字序列重新编排?
[打印本页]
作者:
dongyuen9195
时间:
2016-6-3 16:59
标题:
批处理如何将文本B的指定行内容插入到文本A中并将指定行内容行首的数字序列重新编排?
本帖最后由 pcl_test 于 2016-6-4 21:08 编辑
想把两个记事本合并,又不改变它的编码格式,例如:
A文件:
XXXXXXXXXX
01,XXXXXX.....
02, XXXXX....
中间省略,行数不固定
“end"
B文件:
XXXXXXXXXX
01,XXXXXX.....
02, XXXXX....
中间省略,行数不固定
“end"
以上是文件内容,想把B文件的01到之后的数据插入到A文件"end"前面一行
并且:合并后的文件序列要从1排到100(假如两个文件加起来有100),而且还要可以指定间隔数据变化的,比如:从1,3,5,7.....这样数下来,或者是0,5,10,15....
请教高手。
作者:
qie2015
时间:
2016-6-4 04:36
删除最后一行-合并-再加上最后一行,这样是不是就行了?
作者:
gawk
时间:
2016-6-4 10:06
回复
2#
qie2015
不行,楼主要求排序。
作者:
qie2015
时间:
2016-6-6 14:37
@echo off
setlocal enabledelayedexpansion
set A=a.txt
set B=b.txt
call :shu %A%
set Ans=%ns%
call :shu %B%
set Bns=%ns%
if %Ans% gtr %Bns% (set ends=%Ans%) else (set ends=%Bns%)
call :One %A%
call :endf %A%
>c.txt (echo,%Onef%)
for /l %%a in (1,1,%ends%) do (
call :wording %%a %A%
call :wording %%a %B%
)
>>c.txt echo;%endf%
echo,已完成
pause
exit
:shu
for /f "delims=: tokens=1,*" %%a in ('findstr /n ".*" %1') do (set ns=%%a)
goto :eof
:wording
for /f "delims=*" %%b in ('findstr /c:"%1," %2') do (echo,%%b)>>c.txt
goto :eof
:One
for /f %%a in ('type %1') do (
set Onef=%%a
goto :eof
)
goto :eof
:endf
for /f "usebackq" %%a in (`type %1`) do (set endf=%%a)
goto :eof
欢迎光临 批处理之家 (http://bbs.bathome.net/)
Powered by Discuz! 7.2