Search code examples
batch-filecmdprocesstasklist

How to check if multiple processes is running via a batch script


I got this script form stackoverflow and its working for me . and because i can't comment there im asking my question in new post.

This script check if exe is running in tasklist:

@echo off
SETLOCAL EnableExtensions

set EXE=notepad.exe

FOR /F %%x IN ('tasklist /NH /FI "IMAGENAME eq %EXE%"') DO IF %%x == %EXE% goto ProcessFound

goto ProcessNotFound

:ProcessFound

echo %EXE% is running
goto END
:ProcessNotFound
echo %EXE% is not running
goto END
:END
echo Finished!

The question is :

How can I check multiple process is running on tasklist?

for example exe1 and exe2

thanks in advance


Solution

  • From your comments; if all you want to do is run a third executable if neither of two other executables are running then here is a single line complete batch file example for you:

    @TaskList/NH /FI "Status Eq Running"|FindStr/IC:"first.exe" /C:"second.exe">Nul||Start "" "X:\PathTo\third.exe"
    

    Note:
    Do not change anything other than the names first, second and X:\PathTo\third; all double quotes, ", are necessary!