batch, controleren of een programma draait

Status
Niet open voor verdere reacties.

510122

Gebruiker
Lid geworden
3 jun 2008
Berichten
12
wat is het commando in batch om te controleren of een programma draait????????:o
 
Ik heb batch-script al eerder onderschat, dus het kan zijn dat ik het fout heb, maar volgens mij is dat niet mogelijk met batch-script. (daarvoor zul je namelijk een API moeten aanspreken)
 
Je kan het met tasklist proberen. met tasklist /FI "imagename eq cmd.exe" kan je controleren of bv cmd.exe draait...

Een nadeel werkt niet op XP home. wel op andere xp's (maar je kan tasklist.exe wel downloaden bij microsoft"
 
Je kan het met tasklist proberen. met tasklist /FI "imagename eq cmd.exe" kan je controleren of bv cmd.exe draait...

Een nadeel werkt niet op XP home. wel op andere xp's (maar je kan tasklist.exe wel downloaden bij microsoft"

Ik kende dat commando nog niet, dus weer iets geleerd. Alleen vraag ik me wel af hoe je een batch-script laat reageren op het resultaat van het commando tasklist ? (doe zelf niks met batch)
 
zo...

Kopieer onderstaande code naar een running.bat file. En dan kan het testen met "running cmd.exe"


Code:
@echo off
set tempfile = temp_file_containing_linecount.TXT
tasklist /fi "imagename eq %1" /nh 2> null | find /C "%1" > tempfile  
FOR /f "tokens=* delims=" %%c IN (tempfile ) DO (
if %%c == 0 ECHO program %1 is not running
if not %%c == 0 ECHO program %1 is running
)
del tempfile

Ik schrijf de output van find naar tempfile. Deze file moet je dan weer inlezen met FOR.
De output van deze find is altijd maar 1 regel nml het aantal regels dat je programma naam voorkomt..

De "2> nul" is nodig om de error output te onderdrukken als het programma niet draait.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan