中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 16:50
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何把a.txt文本指定内容写入b.txt文本里面
可打印版本  923 / 2
第1楼 wslqy 发表于 2010-02-08 13:57
新手上路 发帖 2 积分 2
如何把a.txt文本指定内容写入b.txt文本里面
a文本和b文本都很大
a文本很大。




a.txt文本内容如下:
usename: gntxgzdxg
password: 97fcggzd


usename: xgxdtgsdg
password: mfyfjgcdh


现在要把a文本的usename和password插入到b文本的每一###里面


b.txt文本如下:
###############################
邮箱:
FirstName: ASWATH
LastName: KHAN
SSN: 565-36-9631
Question: City of Birth
Answer: Fremont
AltEmail:
Phone: 5103785694
Address: 38730 Lexington Street
BirthDay: 1976-3-16
State: CA
City: Fremont
Zip: 94536
###############################
邮箱:
FirstName:kyicgjhsh
LastName: xgdg
SSN: 565-36-9631
Question: City of Birth
Answer: ughddry
AltEmail:
Phone: 87+43785694
Address: 38730 xington Street
BirthDay: 1972-3-16
State: CA
City: remhdth
Zip: +74536
###############################

###############################
邮箱:
FirstName: ASWATH
LastName: KHAN
SSN: 565-36-9631
Question: City of Birth
Answer: Fremont
AltEmail:
Phone: 5103785694
Address: 38730 Lexington Street
BirthDay: 1976-3-16
State: CA
City: Fremont
Zip: 94536
usename: gntxgzdxg
password: 97fcggzd
###############################

a文本的第2个usen和pass写入b文本的第2个信息里面
邮箱:
FirstName:kyicgjhsh
LastName: xgdg
SSN: 565-36-9631
Question: City of Birth
Answer: ughddry
AltEmail:
Phone: 87+43785694
Address: 38730 xington Street
BirthDay: 1972-3-16
State: CA
City: remhdth
Zip: +74536
usename: xgxdtgsdg
password: mfyfjgcdh
###############################
以此类推,第3个用户名和密码写入b文本的第3个信息里面
第2楼 tongzj 发表于 2010-02-09 18:36
初级用户 发帖 43 积分 49
利用双重循环可以实现,同时需要利用for 命令的skip定位。

@echo off
setlocal enabledelayedexpansion

echo ###############################>new.txt
set skip=1
for /f "tokens=*" %%a in (a.txt) do (
if not defined usename (
set usename=%%a
) else (
set password=%%a
call :loop
set usename=
set password=
)
)
goto :eof

:loop
for /f "skip=%skip% tokens=*" %%b in (b.txt) do (
if "%%b"=="###############################" (
echo %usename% 1>>new.txt
echo %password% 1>>new.txt
echo ###############################>>new.txt
set /a skip+=1
goto :eof
) else (
echo %%b>>new.txt
set /a skip+=1
)
)

[ Last edited by tongzj on 2010-2-9 at 18:37 ]
第3楼 wslqy 发表于 2010-02-10 12:35
新手上路 发帖 2 积分 2
非常感谢2楼的大哥,你的这个批处理很好很强大,
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023