中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么同时在一个文件中搜索两个不同的字符串
作者:
标题: 怎么同时在一个文件中搜索两个不同的字符串 上一主题 | 下一主题
a9319751
中级用户





积分 439
发帖 170
注册 2006-1-9
状态 离线
『楼 主』:  怎么同时在一个文件中搜索两个不同的字符串

怎么同时在一个命令中搜索两个不同的字符串,然后来执行不同的命令.

type 1.txt |find 1 command1 |find 2 command2

?

[ Last edited by a9319751 on 2007-1-26 at 06:31 AM ]



bat c c++
2007-1-26 05:48
查看资料  发送邮件  发短消息 网志  OICQ (5040366)  编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 2 楼』:  

看两个字符串是什么关系

查找同时包含两个字符串的行

findstr /c "str1"  | findstr /c "str2"

查找包含其中一个字符串的行

findstr "str1 str2"

2007-1-26 07:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
a9319751
中级用户





积分 439
发帖 170
注册 2006-1-9
状态 离线
『第 3 楼』:  

比如 dir c:发现1.exe则执行1.exe 发现2.exe则执行2.exe,



bat c c++
2007-1-26 08:00
查看资料  发送邮件  发短消息 网志  OICQ (5040366)  编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 4 楼』:  

这实际上可以看成两个独立的查找

用两句find就可以了

dir c: /b | find "1.exe" && c:1.exe
dir c: /b | find "2.exe" && c:2.exe

2007-1-26 08:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
a9319751
中级用户





积分 439
发帖 170
注册 2006-1-9
状态 离线
『第 5 楼』:  

但是我不想用两个DIR,我想一个DIR,就有两个查找,怎么能不更多的执行dir命令呢?



bat c c++
2007-1-26 08:27
查看资料  发送邮件  发短消息 网志  OICQ (5040366)  编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2342
发帖 635
注册 2004-3-6
状态 离线
『第 6 楼』:  

方法一:

dir c: /b > out.txt
find "1.exe" out.txt >nul && call c:1.exe
find "2.exe" out.txt >nul && call c:2.exe

方法二:

dir c: /b | findstr /c:"1.exe" /c:"2.exe" >out.txt
find "1.exe" out.txt >nul && call c:1.exe
find "2.exe" out.txt >nul && call c:2.exe

另外,请尽量一次把问题描述清楚

2007-1-26 09:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
a9319751
中级用户





积分 439
发帖 170
注册 2006-1-9
状态 离线
『第 7 楼』:  

谢谢
如果我不想使用临时文件呢?



bat c c++
2007-1-26 10:52
查看资料  发送邮件  发短消息 网志  OICQ (5040366)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: