中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 20:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请问如何用批处理检查一个程序是否已运行 查看 738 回复 6
楼 主 [求助]请问如何用批处理检查一个程序是否已运行 发表于 2008-03-24 11:23 ·  中国 河南 洛阳 电信
新手上路
积分 16
发帖 7
注册 2008-02-19 16:19
18年会员
UID 110977
性别 男
状态 离线
如题
最近将输入法加入系统托盘.程序internat要通过开始菜单的启动项启动.但是安全设置不允许在启动项加入快捷方式.只好用批处理.
我是在网吧环境,所以不能一台一台的添加,只好在服务器上统一添加开机运行命令.但有的机子能启动输入法,再用开机命令加一次的话会弹出对话框,说程序已运行.
虽说不是大问题,但很影响客户上网情绪.小弟解决不了,所以来求助.
另外输入法切换也出现问题.就是按常规的Ctrl+Shift切换输入法不管用,设置成Alt+Shift倒是管用,但有客户并不知道Alt+Shift还能切换输入法.唉.这不是批处理的范围,但如果那位兄台知道,也顺便指教一下
2 发表于 2008-03-24 12:19 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
用tasklist配合find可以检查对应程序是否已经运行。

Ctrl+Shift切换不了输入法,这似乎只能说是系统有问题了。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2008-03-25 17:04 ·  中国 河南 洛阳 电信
新手上路
积分 16
发帖 7
注册 2008-02-19 16:19
18年会员
UID 110977
性别 男
状态 离线
谢谢指教.
4 例如是AVP.EXE进程 发表于 2008-03-26 12:00 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,284
发帖 538
注册 2002-11-02 00:00
23年会员
UID 129
性别 男
状态 离线
可否帮忙列出代码?
5 发表于 2008-03-26 16:56 ·  中国 广东 茂名 化州市 电信
中级用户
★★
积分 396
发帖 183
注册 2007-12-23 06:24
18年会员
UID 106531
性别 男
状态 离线
for /f "tokens=1" %%i in ('tasklist^|find "avp.exe"') do (
if avp.exe EQU %%i (
echo %%i进程存在&pause>nul&exit
)else(
echo %%i进程不存在&pause>nul&exit
)
6 发表于 2008-03-26 17:14 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
没有必要用for。

tasklist | find /i "avp.exe" >nul
if %errorlevel%==0 echo find avp.exe
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
7 发表于 2008-03-27 20:06 ·  中国 四川 成都 移动
初级用户
积分 31
发帖 12
注册 2006-09-29 21:10
19年会员
UID 64064
状态 离线
这样写简单一点.
tasklist | find /i "internat.exe" || echo 没有找到进程..
论坛跳转: