如何检查应用程序是否正在从批处理(以及 cmd)文件运行?
如果程序已经在运行,我不需要启动另一个实例。 (我无法更改应用以使其仅成为单个实例。)
该应用程序还可以以任何用户身份运行。
最佳答案
我想到的另一种可能性,它不需要保存文件,灵感来自使用 grep是:
tasklist /fi "ImageName eq MyApp.exe" /fo csv 2>NUL | find /I "myapp.exe">NUL
if "%ERRORLEVEL%"=="0" echo Program is running
/fi ""
定义要查找的应用过滤器,在我们的例子中是 *.exe 名称/fo csv
定义输出格式,csv 是必需的,因为默认情况下可执行文件的名称如果太长可能会被截断,因此find< 无法匹配
稍后。find/I
表示不区分大小写匹配,可以省略
请参阅 tasklist 的手册页整个语法的命令。
关于windows - 如何通过批处理脚本检查进程是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/162291/