中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 12:44
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎么同时在一个文件中搜索两个不同的字符串
可打印版本  930 / 6
第1楼 a9319751 发表于 2007-01-26 05:48
中级用户 发帖 170 积分 439
怎么同时在一个文件中搜索两个不同的字符串
怎么同时在一个命令中搜索两个不同的字符串,然后来执行不同的命令.

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

?

[ Last edited by a9319751 on 2007-1-26 at 06:31 AM ]
第2楼 qzwqzw 发表于 2007-01-26 07:29
银牌会员 发帖 636 积分 2,343
看两个字符串是什么关系

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

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

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

findstr "str1 str2"
第3楼 a9319751 发表于 2007-01-26 08:00
中级用户 发帖 170 积分 439
比如 dir c:发现1.exe则执行1.exe 发现2.exe则执行2.exe,
第4楼 qzwqzw 发表于 2007-01-26 08:19
银牌会员 发帖 636 积分 2,343
这实际上可以看成两个独立的查找

用两句find就可以了

dir c: /b | find "1.exe" && c:1.exe
dir c: /b | find "2.exe" && c:2.exe
第5楼 a9319751 发表于 2007-01-26 08:27
中级用户 发帖 170 积分 439
但是我不想用两个DIR,我想一个DIR,就有两个查找,怎么能不更多的执行dir命令呢?
第6楼 qzwqzw 发表于 2007-01-26 09:57
银牌会员 发帖 636 积分 2,343
方法一:

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楼 a9319751 发表于 2007-01-26 10:52
中级用户 发帖 170 积分 439
谢谢
如果我不想使用临时文件呢?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023