Batch Datei starten sobald ein Bestimmtes Program ausgeführt wird?

2 Antworten

Eine Native Möglichkeit gibt es dafür nicht...

Theoretisch wäre es möglich in einer Endlosschleife zu testen ob ein Prozess gestartet wurde.

test_Start.cmd

@echo off
echo Ich warte auf  den Start  von Notepad.exe!

:loop
tasklist /fi "ImageName eq notepad.exe"|find "notepad.exe" >nul||goto loop

  rem hier was getan werden soll wen  das Programm gestartet wurde...
echo  notepad  wurde  gestartet!
pause

...sows ist jedoch absoluter Nonsens. diese kleine Batch pollt bis zum Start von Notepad und frisst dabei ca. 15% Prozessorleistung (Das willst Du nicht wirklich haben...)

Der normale Weg wäre eine Batch welche statt des Programms gestartet wird und ausführt, was vor dem Programmstart getan werden soll und nach dessen Beendigung

notepad.cmd

  @echo off
  rem was vor dem Start Deines Programms ausgeführt werden soll
echo ich  mache irgendwas
echo ...beende den Editor...

  rem starte Dein Programm (hier zur Demo Notepad.exe) !!!damit es keine "Rückkopplungen" gibt vollen Pfad  angeben!!!
C:\Windows\Notepad.exe

  rem was  nach schließen  des Progamms  ausgeführt werden soll
echo ich  mache irgendwas hinterher
pause

Du kannst auch etwas Parallel zur Ausführung eines Programms ausführen.

notepad.cmd

start "" "C:\Windows\Notepad.exe"
echo Notepad  wurde  gestartet und ich mache  etwas anderes
pause

Das sind die Möglichkeiten welche Du hast...

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

Als Idee, Du schreibst eine Batchdatei, die so aussieht wie das Programm und den gleichen Namen hat und das Deine Wünsche erfüllt und dann das Programm startet.