找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23996|回复: 3

[文本处理] 批处理如何将文本B的指定行内容插入到文本A中并将指定行内容行首的数字序列重新编排?

[复制链接]
发表于 2016-6-3 16:59:38 | 显示全部楼层 |阅读模式
本帖最后由 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....
请教高手。

评分

参与人数 1PB -2 收起 理由
pcl_test -2 未按版规发帖

查看全部评分

发表于 2016-6-4 04:36:18 | 显示全部楼层
删除最后一行-合并-再加上最后一行,这样是不是就行了?
发表于 2016-6-4 10:06:20 | 显示全部楼层
回复 2# qie2015


    不行,楼主要求排序。
发表于 2016-6-6 14:37:22 | 显示全部楼层
@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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:49 , Processed in 0.020872 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表