如何使用批处理文件判断特定进程是否正在运行?
例如,如何判断notepad.exe
是否正在运行?
答案 0 :(得分:3)
考虑以下提案(在批处理文件中运行):
tasklist | findstr /R ^notepad.exe
简单,但有效!
tasklist /?
将向您展示许多用于过滤和管理输出的绝佳选项。
findstr /?
还会向您显示一组很好的搜索和过滤tasklist
我希望这会有所帮助。
答案 1 :(得分:3)
Powershell具有内置功能。 获取进程强> Get-Process将告诉您所有流程。如果您希望使用特定的过滤器,请使用:
Get-Process |?{$ _。Name -eq'Notepad'}
屏幕截图仅供参考:
在cmd提示符下键入Powershell:
希望它有所帮助...
答案 2 :(得分:2)
您可以在批处理文件中执行以下操作:
这一启发来自Check if a process is running or not?
@echo off
Title Check for running process . . .
mode con cols=50 lines=3
set "MyProcess=notepad.exe"
set delay=5
:Main
cls
Tasklist /FI "IMAGENAME eq %MyProcess%" | find /I "%MyProcess%">nul && (
echo( & Color 9A
echo PROCESS "%MyProcess%" IS RUNNING !
)||(
echo( & Color 4C
echo PROCESS "%MyProcess%" IS NOT RUNNING !
)
Timeout /T %delay% /nobreak>nul
Goto Main