IT IS EASY. IN MS-DOS (COMMAND PROMPT) THERE IS TASK MANAGER COMMAND TASKLIST.
YOU JUST TYPE TASKLIST TO SEE LIST OF RUNNING PROGRAMS.
IF YOU WANT YOUR BATCH FILE TO DETECT IS CALC.EXE RUNNING TRY TYPING THIS. MAYBE WILL HELP.
:START
REM: ADD THIS LINE TO DISABLE SHOWING SOURCE CODE WHILE RUNNING.
@ECHO OFF
REM: ADD THIS LINE TO CREATE LIST OF RUNNING PROGRAMS AND FIND WHAT YOU WANT.
REM: NOTE THAT YOU CAN REPLACE CALC.EXE WITH ANY OTHER PROGRAM TO CHECK IS THAT PROGRAM RUNNING.
REM: ADD REDIRECTION TO FILE TO AVOID DISPLAYING FILE SPECIFICATIONS.
TASKLIST | FIND /I "CALC.EXE" 1>TEMP.DAT
REM: ADD THIS LINE TO PERFORM CHECK OF EXIT CODE FOR FIND.EXE PROGRAM.
IF %ERRORLEVEL% EQU 0 (
REM: ADD THIS LINE TO DISPLAY CHECK RESULT.
ECHO: CALCULATOR IS RUNNING.) ELSE ECHO: CALCULATOR IS NOT RUNNING.
REM: ADD THIS LINE TO DELETE TEMPORARY DATA USED.
DEL %CD%\TEMP.DAT
REM: ADD THIS LINE TO PREVENT ENDING BATCH FILE BEFORE YOU READ THE RESULT AND PRESS ENTER.
SET /P WAITING_FOR_USER_TO_PRESS_ANY_KEY...=
:END
THIS IS THE WAY. I HOPE I WAS USEFUL.
IN YOUR BATCH FILE YOU HAVE SEARCHED IS CALC.EXE FILE PRESENT IN THE CURRENT DIRECTORY, NOT ITS PROCESS.
IF YOU WANT TO KNOW MORE, CALC.EXE IS LOCATED IN SYSTEM32 DIRECTORY OF WINDOWS ROOT FOLDER.
YBY