当前位置:  开发笔记 > 编程语言 > 正文

在批处理文件中,如何判断进程是否正在运行?

如何解决《在批处理文件中,如何判断进程是否正在运行?》经验,为你挑选了1个好方法。

我想编写一个批处理文件,检查进程是否正在运行,如果是,则执行一个操作,如果不执行,则执行另一个操作.

我知道我可以使用任务列表列出所有正在运行的进程,但有没有更简单的方法来直接检查特定进程?

看起来这应该有效,但它不会:

tasklist /fi "imagename eq firefox.exe" /hn | MyTask
IF %MyTask%=="" GOTO DO_NOTHING
'do something here
:DO_NOTHING

使用atzz提供的解决方案,这是一个完整的工作演示:

编辑:简化,并修改为在WinXP和Vista下工作

echo off

set process_1="firefox.exe"
set process_2="iexplore.exe"
set ignore_result=INFO:

for /f "usebackq" %%A in (`tasklist /nh /fi "imagename eq %process_1%"`) do if not %%A==%ignore_result% Exit
for /f "usebackq" %%B in (`tasklist /nh /fi "imagename eq %process_2%"`) do if not %%B==%ignore_result% Exit

start "C:\Program Files\Internet Explorer\iexplore.exe" www.google.com

atzz.. 6

您可以使用"for/f"构造来分析程序输出.

set running=0
for /f "usebackq" %%T in (`tasklist /nh /fi "imagename eq firefox.exe"`) do set running=1

另外,坚持一个是个好主意

setlocal EnableExtensions

在脚本开始时,以防用户默认禁用它.



1> atzz..:

您可以使用"for/f"构造来分析程序输出.

set running=0
for /f "usebackq" %%T in (`tasklist /nh /fi "imagename eq firefox.exe"`) do set running=1

另外,坚持一个是个好主意

setlocal EnableExtensions

在脚本开始时,以防用户默认禁用它.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有