中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 12:16
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 查看当前目录下是否有以s开头的exe文件,如果有则退出
可打印版本  1,867 / 19
第1楼 wang6542975 发表于 2008-05-11 21:50
初级用户 发帖 62 积分 123
查看当前目录下是否有以s开头的exe文件,如果有则退出
请至少给出4种以上方法
第2楼 bat-zw 发表于 2008-05-11 22:29
金牌会员 发帖 1,276 积分 3,105
暂时只想到三个:




[ Last edited by zw19750516 on 2008-5-11 at 10:50 PM ]
第3楼 bat-zw 发表于 2008-05-11 22:45
金牌会员 发帖 1,276 积分 3,105
再来一个:
第4楼 pusofalse 发表于 2008-05-11 22:45
银牌会员 发帖 646 积分 1,604
for %%a in (*.exe) do echo %%~na|findstr "^s"&&exit/b
第5楼 pusofalse 发表于 2008-05-11 22:46
银牌会员 发帖 646 积分 1,604
方法简直太多了啊~
第6楼 pusofalse 发表于 2008-05-11 22:49
银牌会员 发帖 646 积分 1,604
Originally posted by zw19750516 at 2008-5-11 10:45 PM:



/r不是也循环子目录中的文件吗?
第7楼 bat-zw 发表于 2008-05-11 22:53
金牌会员 发帖 1,276 积分 3,105
回楼上,yes。

[ Last edited by zw19750516 on 2008-5-11 at 11:10 PM ]
第8楼 wang6542975 发表于 2008-05-11 22:55
初级用户 发帖 62 积分 123
正解
@echo off
dir s*.exe || echo Didn't exist file s*.exe & pause & exit
第9楼 pusofalse 发表于 2008-05-11 22:55
银牌会员 发帖 646 积分 1,604
Originally posted by zw19750516 at 2008-5-11 10:53 PM:
回楼上,yes。
ps:for %%a in (*.exe) do echo %%~na|findstr "^s"&&exit/b 有误,如:存在123s.exe也会退出。

[ Last edited by zw19750516 on 2008-5-11 at 10:54 PM ]


findstr "^s" 中"^"不是仅匹配行首的s吗?~
第10楼 bat-zw 发表于 2008-05-11 22:58
金牌会员 发帖 1,276 积分 3,105
Originally posted by wang6542975 at 2008-5-11 22:55:
@echo off
dir s*.exe || echo Didn't exist file s*.exe & pause & exit

非正解,如存在子目录则。。。
第11楼 wang6542975 发表于 2008-05-11 23:04
初级用户 发帖 62 积分 123
谢谢。。
第12楼 bat-zw 发表于 2008-05-11 23:05
金牌会员 发帖 1,276 积分 3,105
Originally posted by pusofalse at 2008-5-11 22:45:
for %%a in (*.exe) do echo %%~na|findstr "^s"&&exit/b

对不起,开始没注意到"^",但这样不能兼容子目录吧。
第13楼 pusofalse 发表于 2008-05-11 23:08
银牌会员 发帖 646 积分 1,604
Originally posted by zw19750516 at 2008-5-11 11:05 PM:

对不起,开始没注意到"^",但这样不能兼容子目录吧。

你真客气。。- -|||
楼主的要求不是当前目录吗~? 子目录的话 和你的那一样 加个/r就OK了~
第14楼 wang6542975 发表于 2008-05-11 23:12
初级用户 发帖 62 积分 123
谢谢大家。假如标题换成“查看当前目录下是否有以s开头的exe文件,如果没有则退出”的话???
第15楼 pusofalse 发表于 2008-05-11 23:14
银牌会员 发帖 646 积分 1,604
for %%a in (*.exe) do echo %%~na|findstr "^s"||exit/b
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023