中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 23:23
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]如何在特定目录搜索特定文件并执行
可打印版本  898 / 2
第1楼 renol 发表于 2009-12-30 10:09
初级用户 发帖 17 积分 22
[已解决]如何在特定目录搜索特定文件并执行
没有搜索到,只好发帖求助
因为我自己写了个批处理文件用于安装防毒软件,然后升级病毒库

在目录“U:\AntiVirus\”下是所有的安装文件及批处理所在,只有其中的一个文件是经常变换文件名的 ,就是病毒库文件,我定期更新这个文件 sdat5231.exe,后面的四个数字会变化,当前目录没有其他sdat开头的exe文件。

在我现在的批处理中,是
.\sdat5231.exe
这种方式来执行,所以每次更新病毒库,都需要修改批处理

如何一条命令直接搜索到该文件并执行呢?
我现在只知道这个命令能得到文件名,不知道如何得到后执行

dir /B sdat*.exe

[ Last edited by renol on 2009-12-30 at 10:42 ]
第2楼 sysplay 发表于 2009-12-30 10:21
初级用户 发帖 19 积分 23
@echo off
for /f %%i in ('dir /b sdat*.exe') do call start "" "%%~dp0%%i%%"

[ Last edited by sysplay on 2009-12-30 at 10:25 ]
第3楼 renol 发表于 2009-12-30 10:42
初级用户 发帖 17 积分 22
十分感谢sysplay
这个批处理可以用,呵呵,虽然我还不太明白dp0及那些符号的意思
还要继续努力学习的说

p.s. 忘记了执行该程序还要加个参数 /silent
自己试了一下,直接在加在句尾即可,而不是在最后一个引号内,呵呵

Originally posted by sysplay at 2009-12-30 10:21 AM:
@echo off
for /f %%i in ('dir /b sdat*.exe') do call start "" "%%~dp0%%i%%" /silent

[ Last edited by sysplay on 2009-12-30 at 10:25 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023