中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 23:55
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]DOS如何合并两个文件中的相同行 查看 696 回复 4
楼 主 [求助]DOS如何合并两个文件中的相同行 发表于 2007-12-27 18:14 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
如有两个文件1.txt,2.txt
1.txt中的内容:
a1
b1
c1
d1
e1
2.txt中的内容:
a2
b2
c2
d2
e2
合并为3.txt
[1]a1[2]a2[3]
[1]b1[2]b2[3]
[1]c1[2]c2[3]
[1]d1[2]d2[3]
[1]e1[2]e2[3]
2 发表于 2007-12-27 18:17 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
各位高手帮帮忙..谢谢了...
3 发表于 2007-12-27 18:19 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
原有一txt文件和把它分成三个文件
for /f %%i in (a1.txt,a3.txt,a5.txt) do echo %%i>>a1.txt
现想按以上格式各并....
4 试试这个: 发表于 2007-12-27 23:13 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@echo off & SetLocal EnableDelayedExpansion

for %%a in (1.txt 2.txt) do set /a num+=1&call :context %%a !num!

for /l %%a in (1,1,%maxline%) do (
set lineno=%%a
>>3.txt echo:!file_1_%%a!!file_2_%%a!
)
echo 处理完成&pause & start notepad 3.txt&exit /b 0

:context
set line=0
for /f "delims=" %%a in (%1) do (
set /a line+=1
set file_%2_!line!=%%a
)
if not defined maxline set maxline=%line%
goto :EOF
5 发表于 2007-12-28 09:56 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 71
发帖 59
注册 2007-12-27 17:53
18年会员
UID 106966
性别 男
状态 离线
非常感谢..lxmxn版主
论坛跳转: