[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何将文本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....
请教高手。
1

评分人数

删除最后一行-合并-再加上最后一行,这样是不是就行了?

TOP

回复 2# qie2015


    不行,楼主要求排序。
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

@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

TOP

返回列表