中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-04 20:28
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么同时在一个文件中搜索两个不同的字符串 查看 799 回复 6
楼 主 怎么同时在一个文件中搜索两个不同的字符串 发表于 2007-01-26 05:48 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
怎么同时在一个命令中搜索两个不同的字符串,然后来执行不同的命令.

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

?

[ Last edited by a9319751 on 2007-1-26 at 06:31 AM ]
bat c c++
2 发表于 2007-01-26 07:29 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
看两个字符串是什么关系

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

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

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

findstr "str1 str2"
3 发表于 2007-01-26 08:00 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
比如 dir c:发现1.exe则执行1.exe 发现2.exe则执行2.exe,
bat c c++
4 发表于 2007-01-26 08:19 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
这实际上可以看成两个独立的查找

用两句find就可以了

dir c: /b | find "1.exe" && c:1.exe
dir c: /b | find "2.exe" && c:2.exe
5 发表于 2007-01-26 08:27 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
但是我不想用两个DIR,我想一个DIR,就有两个查找,怎么能不更多的执行dir命令呢?
bat c c++
6 发表于 2007-01-26 09:57 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
方法一:

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

另外,请尽量一次把问题描述清楚
7 发表于 2007-01-26 10:52 ·  中国 河南 郑州 电信
中级用户
★★
积分 439
发帖 170
注册 2006-01-09 20:29
20年会员
UID 48707
状态 离线
谢谢
如果我不想使用临时文件呢?
bat c c++
论坛跳转: