如何判断进程是通过批处理文件还是脚本文件运行?

时间:2016-12-11 06:30:03

标签: windows batch-file process

如何使用批处理文件判断特定进程是否正在运行?

例如,如何判断notepad.exe是否正在运行?

3 个答案:

答案 0 :(得分:3)

考虑以下提案(在批处理文件中运行):

tasklist | findstr /R ^notepad.exe

简单,但有效!

tasklist /?

将向您展示许多用于过滤和管理输出的绝佳选项。

findstr /?

还会向您显示一组很好的搜索和过滤tasklist

输出的选项

我希望这会有所帮助。

答案 1 :(得分:3)

Powershell具有内置功能。 获取进程 Get-Process将告诉您所有流程。如果您希望使用特定的过滤器,请使用:

  

Get-Process |?{$ _。Name -eq'Notepad'}

屏幕截图仅供参考:

在cmd提示符下键入Powershell:

enter image description here

运行以上查询。如果记事本正在运行。它会告诉你: enter image description here

希望它有所帮助...

答案 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