dernerl

Batch um Programm nach Prüfung zu starten

Hallo Community,

könnt ihr mir bei meinem Code helfen, der Outlook erst starten soll wenn mein Softphone geöffnet ist? So ganz will das nicht funktionieren und ich bin auch noch in den Anfängen wenn es um scripten geht...


Hier mein Code:
@echo OFF
:loop
start "" "C:\Program Files (x86)\Microsoft Office\Office14\outlook.exe"
exit
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 222393

Url: https://administrator.de/forum/batch-um-programm-nach-pruefung-zu-starten-222393.html

Ausgedruckt am: 25.04.2025 um 13:04 Uhr

Snowman25
Snowman25 19.11.2013 um 16:27:46 Uhr
Goto Top
Hallo @dernerl,

Angenommen, dass communicatork9.exe nur vorhanden ist, wenn dein Smartphone angeschlossen ist.
Probiers mal so:
:loop
tasklist|findstr communicatork9.exe 1>nul
IF %ERRORLEVEL% NEQ 1 GOTO :outlook
ping localhost -n 5 1>nul
GOTO :loop

:outlook
start /WAIT  "" "C:\Program Files (x86)\Microsoft Office\Office14\outlook.exe"  
GOTO :loop

Ist ungetestet. Die Logik dahinter:
  • läuft communicatork9.exe?
  • Wenn ja:
    • starte Outlook und warte, bis es wieder beendet wird
  • Sonst:
    • Warte 5 Sekunden und schau nochmal.

Gruß,
@Snowman25
dernerl
dernerl 27.11.2013 um 08:56:52 Uhr
Goto Top
Okay, danke das funktioniert!
Kannst du mir den Code noch näher erklären?

Vorallem:

IF %ERRORLEVEL% NEQ 1 GOTO :outlook

und

das letzte GOTO :Loop macht doch eine endlos Schleife, oder nicht?
Snowman25
Snowman25 27.11.2013 um 10:06:57 Uhr
Goto Top
Klar:

IF %ERRORLEVEL% NEQ 1 GOTO :outlook 
Wenn der ERRORLEVEL nicht 1 ist, soll das Script zu :outlook springen.
Der ERRORLEVEL wird durch den findstr-Befehl gesetzt. Wenn das gesuchte Wort gefunden wird, ist der ERRORLEVEL 0, ansonsten 1.

Der letzte GOTO-Befehl macht in der Tat die Endlosschleife komplett.
start /WAIT startet ein Programm und wartet mit der weiteren Ausführung, bis dieses wieder beendet wurde.

Gruß,
@Snowman25

Sollte das dein Problem gelöst haben, mach bitte einen Haken an die Frage.
dernerl
dernerl 27.11.2013 um 10:47:55 Uhr
Goto Top
Zitat von @Snowman25:

Der letzte GOTO-Befehl macht in der Tat die Endlosschleife komplett.

aber dann wird doch Outlook ständig neu geöffnet weil dann wieder an den Anfang des Programms gesprungen wird. Oder hab ich da was falsch verstanden?

Gruß
dernerl
Snowman25
Snowman25 27.11.2013 um 10:49:07 Uhr
Goto Top
Zitat von @dernerl:
aber dann wird doch Outlook ständig neu geöffnet weil dann wieder an den Anfang des Programms gesprungen wird. Oder hab
ich da was falsch verstanden?
Zitat von @Snowman25:
start /WAIT startet ein Programm und wartet mit der weiteren Ausführung, bis dieses wieder beendet wurde.
dernerl
dernerl 27.11.2013 um 14:53:56 Uhr
Goto Top
dann würde ja beim Beenden von Outlook wieder die Abfrage von vorne beginnen und somit Outlook wieder starten, oder nicht?
Snowman25
Snowman25 27.11.2013 um 15:09:50 Uhr
Goto Top
ja, ausser es läuft der Prozess communicatork9.exe.