Board logo

标题: [已结]求两个文本间的替换 [打印本页]

作者: ka56     时间: 2008-11-6 03:22    标题: [已结]求两个文本间的替换

思路:用修改后的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 ]
作者: HAT     时间: 2008-11-6 04:12

@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
)

作者: slw218856     时间: 2008-11-6 10:42
findstr ""%%a-" 中的-这个起什么作用,好象去掉也不影响。
   解释以下,谢下
作者: tireless     时间: 2008-11-6 10:55


  Quote:
Originally posted by slw218856 at 2008-11-6 10:42 AM:
findstr ""%%a-" 中的-这个起什么作用,好象去掉也不影响。
   解释以下,谢下

有影响。findstr "12345678" 会和任何包含 "12345678" 的行匹配,而 findstr "12345678-" 只匹配 "12345678-"。
作者: ka56     时间: 2008-11-6 12:28
谢谢H版版,又看见熟悉的名字,很温暖~~谢谢各位!!