中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-10 06:58
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]求两个文本间的替换 查看 715 回复 4
楼 主 [已结]求两个文本间的替换 发表于 2008-11-06 03:22 ·  中国 福建 泉州 石狮市 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
思路:用修改后的QQ号新密码替换旧文档里的QQ密码.

假如,
新改密码的几个号.txt:
13450108----674674433
50321745----74454658
45795556----654fdei


旧文档.txt:
42830604----sf4trre5t
50283613----dg54547tr
87023484----5fg3edf6
13450108----qqq666
50321745----qqq666
45795556----qqq666
74790217----dfg5j893
87680716----767isaf23


求个批处理,先提取"----"前面的号,找到旧文档的这个号并把新密码替换掉旧密码,要求位置不变.处理后要求得到新文档:

42830604----sf4trre5t
50283613----dg54547tr
87023484----5fg3edf6
13450108----674674433
50321745----74454658
45795556----654fdei
74790217----dfg5j893
87680716----767isaf23



基础很差,红着脸再来请教了~~

[ Last edited by HAT on 2008-11-6 at 18:19 ]
2 发表于 2008-11-06 04:12 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
type nul>新文档.txt
echo.>>新改密码的几个号.txt
for /f "tokens=1-2 delims=-" %%a in (旧文档.txt) do (
findstr "%%a-" 新改密码的几个号.txt>>新文档.txt||echo %%a----%%b>>新文档.txt
)
3 发表于 2008-11-06 10:42 ·  中国 江苏 苏州 电信
初级用户
★★
积分 133
发帖 75
注册 2008-08-03 01:08
18年会员
UID 122677
性别 男
状态 离线
findstr ""%%a-" 中的-这个起什么作用,好象去掉也不影响。
解释以下,谢下
4 发表于 2008-11-06 10:55 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
Originally posted by slw218856 at 2008-11-6 10:42 AM:
findstr ""%%a-" 中的-这个起什么作用,好象去掉也不影响。
解释以下,谢下

有影响。findstr "12345678" 会和任何包含 "12345678" 的行匹配,而 findstr "12345678-" 只匹配 "12345678-"。
5 发表于 2008-11-06 12:28 ·  中国 福建 泉州 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
谢谢H版版,又看见熟悉的名字,很温暖~~谢谢各位!!
论坛跳转: