中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-19 02:06
47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 請教 DOS 下FIND的問題
可打印版本  2,385 / 10
第1楼 quan_zhou 发表于 2006-09-29 22:32
初级用户 发帖 40 积分 190
請教 DOS 下FIND的問題
我想將1.txt的內容變成2.TXT,但我DOS下輸入 type 1.txt |find /I “DID” “Revision” “Subsystem DID” >2.txt
結果2.txt里只個DID : 0x01d1,搞不明白怎麼回事,請高手們指點指點。謝謝!

---------------1.txt----------------
PCI Bus Dev Fun: 0x01, 0x00, 0x00
DID : 0x01d1
Device Id : G72
Device Name : GeForce 7300 LE
Revision : a3
Subsystem VID : 0x10de
Subsystem DID : 0x0000



-------2.txt--------
DID : 0x01d1
Revision : a3
Subsystem DID : 0x0000
第2楼 NaturalJ0 发表于 2006-09-29 23:24
银牌会员 发帖 533 积分 1,181
find 好像一次找不了多个串。
第3楼 pengfei 发表于 2006-09-30 00:28
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
请楼主测试以下代码, 速度很不错, 并且实现了排版, 使文本看起来更加工整.

第4楼 NaturalJ0 发表于 2006-09-30 02:27
银牌会员 发帖 533 积分 1,181
我感觉楼主可能是想在纯 DOS 下用,如果是在CMD下,倒可以直接用 findstr 一次找多个串。纯 DOS 的话 FOR 的 /F 也没有了。
第5楼 NaturalJ0 发表于 2006-09-30 02:46
银牌会员 发帖 533 积分 1,181
想了会儿,这办法有点笨,不过应该能在纯 DOS 下用。

第6楼 pengfei 发表于 2006-09-30 07:19
银牌会员 发帖 485 积分 1,218 来自 湖南.娄底
Originally posted by quan_zhou at 2006-9-29 22:32:
我想將1.txt的內容變成2.TXT,但我DOS下輸入 type 1.txt |find /I “DID” “Revision” “Subsystem DID” >2.txt
結果2.txt里只個DID : 0x01d1,搞不明白怎麼堮..


就像二楼说的find不能查找多个字符串. 所以2.txt中也只显示查找第一个字符的行. 而NaturalJ0说的纯DOS下不能和for的/f参数我就不清楚了.

要想一次查找多个字符串, 建议楼主使用findstr.
@echo off
findstr /i /c:"DID :" /c:"Revision" /c:"Subsystem DID" 1.txt>>2.txt
pause
第7楼 quan_zhou 发表于 2006-10-03 23:44
初级用户 发帖 40 积分 190
谢谢大家的回复!
谢谢大家的关注,这几天回家了没能及时上网。
如5楼 NaturalJ0兄的方法一定是可以的,但我想一次完成多个查找,因为这样来得比较快。
另:pengfei 兄提到的findstr是否有在DOS能运行的,若有请帮忙发一个给我,谢谢!
第8楼 namejm 发表于 2006-10-04 01:20
荣誉版主 发帖 1,737 积分 5,226 来自 成都
Originally posted by NaturalJ0 at 2006-9-30 02:46:
想了会儿,这办法有点笨,不过应该能在纯 DOS 下用。

第9楼 不得不爱 发表于 2006-10-06 02:01
超级版主 发帖 2,044 积分 5,310 来自 四川南充
第10楼 chshjr 发表于 2007-11-17 10:01
新手上路 发帖 1 积分 2
Originally posted by namejm at 2006-10-4 01:20:

  没必要用管道符号来再次 find 吧?因为只要在某行找到关键字,就会把这行的内容全部显示出来的,再次查找是否存在冒号就属于重复查找了。

我用这个命令为什么老是提示软驱没准备.为什么?
第11楼 不得不爱 发表于 2007-11-22 18:02
超级版主 发帖 2,044 积分 5,310 来自 四川南充
你是在A:或者B:下运行的命令吧
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023