Board logo

标题: 怎样用批次写出AA.txt内容找出BB.txt内相对应之数值? [打印本页]

作者: balance50     时间: 2006-11-16 12:45    标题: 怎样用批次写出AA.txt内容找出BB.txt内相对应之数值?

怎样用批次写出AA.txt内容找出BB.txt内相对应之数值?

AA.txt

Tom
Ken

===========
BB.txt

Tom  180
Ken   176
Jess   167
作者: lxmxn     时间: 2006-11-16 16:30

  试试下面这个代码吧。CMD @ Windows XP2 sp2
@echo off
for /f %%a in (AA.txt) do (
    for /f "delims=" %%b in ('type BB.txt ^| findstr "\<%%a\>"') do echo %%b
)
pause

作者: ccwan     时间: 2006-11-17 02:19
好。
作者: balance50     时间: 2006-11-17 11:37
谢谢!好厉害…想了好几天都想不出来…原来就是这样子
作者: 9527     时间: 2006-11-18 23:23
其实命令行上就可以完成,如下:
for /f "tokens=1*" %a in ('type bb.txt^|findstr /g:aa.txt') do echo %b
作者: lxmxn     时间: 2006-11-19 09:25


  Quote:
Originally posted by 9527 at 2006-11-18 23:23:
其实命令行上就可以完成,如下:
for /f "tokens=1*" %a in ('type bb.txt^|findstr /g:aa.txt') do echo %b


  兄得方法另小弟佩服,这个/g参数用的妙。

  但是我在查看这个参数时,后面有个说明,不知道控制台究竟是什么,控制台里面有什么字符可供提取。

  Quote:
/G:file   从指定的文件获得搜索字符串。 (/ 代表控制台)。


作者: kiusun     时间: 2006-11-20 00:12
天啊,都是高手,弄不明白
作者: hankerer     时间: 2006-11-20 02:23


  Quote:
Originally posted by lxmxn at 2006-11-16 16:30:

  试试下面这个代码吧。CMD @ Windows XP2 sp2
[code]
@echo off
for /f %%a in (AA.txt) do (
    for /f "delims=" %%b in ('type BB.txt ^| findstr "\ ...

弱的问一下,^是用来转义的吗?

是不是在 in 里面的内容特殊的字符都要使用转义字符?
作者: redtek     时间: 2006-11-20 02:28
^是用来转义特殊符号的,也叫脱逸符~:)

关于符号的作用详见下面贴子的第3楼~:)
http://www.cn-dos.net/forum/viewthread.php?tid=20558&fpage=4


关于更多符号与批处理基础知识的内容详见下面的贴子~:)
http://www.cn-dos.net/forum/viewthread.php?tid=24549&fpage=2