Batch-Datei - Einzeiler gesucht?

2 Antworten

Von Experte Erzesel bestätigt
tasklist | find /i "msaccess.exe" || "c:\Program Files\MSOfficeXX.xx\msaccess.exe"

Den Pfad zur Installation von Access wirst du den Gegebenheiten anpassen können und müssen.

Mit PowerShell wäre das ganze aktueller. Aber wenn du die veraltete Dos-Shell verwenden willst....


Erzesel  31.08.2024, 18:41

etwas schneller wäre das gesuchte Programm bereits in Tasklist als Filter zu spezifizieren. Damit wird vermieten, das tasklist die Parameter der Programme erfasst und in die Pipeline schickt. Find braucht entsprechend weniger zu analysieren.

tasklist /fi "ImageName eq msaccess.exe"| find /i "msaccess.exe" || "c:\Program Files\MSOfficeXX.xx\msaccess.exe"
norbertk62 
Beitragsersteller
 31.08.2024, 14:53

Hey cool. Das geht ja genau wie im Linux. Danke

Genau das hab ich gesucht.

Wegen Powershell etc - die Programme laufen seit Jahren im Hintergrund - ja, man könnte sie umstellen, Frage ist doch: was hätte man davon?

@Xandros0506 hat ja schon den Einzeiler geliefert.

wenn Du dir die gelegentliche manuelle Eingabe sparen willst kannst Du auch ein kleine Batch laufen lassen, welche automatisch in bestimmten Zeitabständen prüft, ob der gewünschte Prozess (noch) läuft und gegebenefalls die nötigen Maßnahmen ausführt.

whatchProcess.cmd

echo off
set "WatchProcess=msaccess.exe" &rem zu  beobachtender/restartender Prozess
set "WatchIntervall=600"         &rem Wartezeit zwischen den Prüfungen in Sekunden 
 rem Endlosschleife läuft bis das Fenster geschlossen wird
:loop
    tasklist /fi "ImageName eq %watchprocess%"| find /i "%watchprocess%" >nul || (
        rem  restarte das Programm außerhalb der Batch
        start "" "%watchprocess%"
        timeout 3 >nul   &rem ein paar Sekunden warten, bis das gestartete Programm von tasklist erfasst werden kann 
        goto :loop
    )
    rem  warte bis  zur  nächsten Prüfung
    timeout %WatchIntervall% >nul
    goto loop

natürlich wäre ein ProzessWatscher in PowerShell wesentlich effizienter...

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