中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 13:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » (求助)将两个文本文件并列合并为一个文件 查看 761 回复 8
楼 主 (求助)将两个文本文件并列合并为一个文件 发表于 2008-05-04 22:17 ·  中国 重庆 奉节县 电信
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
将两个文本文件的内容并排并列为一个文本文件

a.txt内容
-----------------------
栯工adbd1
sdgil
sdgei
as
123
2d
546
3
fhr
643
-------------------------

b.txt内容
------------------------
adgo
在dg
dow32
532
df32
5di在
ad83
三有0d
dfe23
sdgd
------------------------

两个文件行号一样的,现在要并列成这样的:

并列成 c.txt
---------------------------
栯工adbd1 adgo
sdgil 在dg
sdgei dow32
as 532
123 df32
2d 5di在
546 ad83
3 三有0d
fhr dfe23
643 sdgd
-----------------------
2 发表于 2008-05-04 22:27 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
for /f "delims=" %%a in (a.txt) do (
for /f "delims=" %%i in (b.txt) do (
echo %%a %%i
)
)>>c.txt
pause
没试过,不知行不行。。。
3 发表于 2008-05-04 22:38 ·  中国 重庆 奉节县 电信
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
楼上的朋友的代码我之前也试过,不行的。
4 发表于 2008-05-04 22:38 ·  中国 江苏 常州 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off&setlocal enabledelayedexpansion
set n=-1
for /f "delims=" %%a in (a.txt) do (
set/a n+=1
call:lp "%%a"
)
pause
goto :eof
:lp
if not !n! equ 0 for /f "skip=%n% delims=" %%i in (b.txt) do echo %~1 %%i&goto :eof
for /f "delims=" %%i in (b.txt) do echo %~1 %%i&goto :eof
简单!简单!再简单!
5 这个不难: 发表于 2008-05-04 22:40 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
if exist c.txt del /q c.txt
for /f "delims=" %%a in (a.txt) do set /a n+=1&set _!n!=%%a
set n=0
for /f "delims=" %%i in (b.txt) do call :lp %%i
start c.txt&goto :eof
:lp
set /a n+=1
echo !_%n%! %1>>c.txt


[ Last edited by zw19750516 on 2008-5-4 at 10:42 PM ]
批处理之家新域名:www.bathome.net
6 发表于 2008-05-04 22:51 ·  中国 重庆 奉节县 电信
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
谢谢 terse 老大!几句代码一下搞定!谢谢!!
7 发表于 2008-05-05 22:22 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
楼主去下载个paste.exe吧,一句代码搞定^_^

paste.exe a.txt b.txt>c.txt
8 发表于 2008-05-09 14:06 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
4楼的 echo %~1 %%i中就是代表%%a 吗?
9 发表于 2008-05-09 14:10 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
18年会员
UID 112561
性别 男
状态 离线
Originally posted by zw19750516 at 2008-5-4 22:40:

@echo off&setlocal enabledelayedexpansion
if exist c.txt del /q c.txt
for /f "delims=" %%a in (a.txt) do set /a n+=1&set _!n!=%%a
set n=0
for /f "delims=" %% ...

for /f "delims=" %%a in (a.txt) do set /a n+=1&set _!n!=%%a这句怎么理解啊?
论坛跳转: