2016-06-19 21 views
1

Ich muss überprüfen, ob ein Prozess auf meinem Computer ausgeführt wird, und wenn dies nicht der Fall ist, starten Sie es, andernfalls starten Sie keinen anderen Prozess.Programm ausführen, aber nicht, wenn bereits ausgeführt

Der Haken ist, muss dieses Verzeichnis spezifische

Z. B. sein Ich möchte F:\PVE Server\ShooterGame\Binaries\Win64\start.exe ausführen, wenn es nicht bereits ausgeführt wird, aber andere start.exe s in anderen Verzeichnissen ignorieren, die möglicherweise bereits ausgeführt werden.

+0

Willkommen bei Stack-Überlauf. Bitte nimm die [2-Minuten-Tour] (http://stackoverflow.com/tour). Öffnen Sie außerdem [Hilfe] (http://stackoverflow.com/help) und lesen Sie mindestens _Welche Themen kann ich hier fragen? Dann wissen Sie, was wir von den Fragestellern erwarten: Zeigen Sie uns den Code ([mcve]), auf dem Sie die Aufgabe selbst gelöst haben, und erklären Sie, warum Sie die Aufgabe nicht ausführen. Sorry, aber Stack Overflow ist kein kostenloser Code-Schreibservice. TIPP: Beginne mit 'wmic process wo 'caption like' start %% '" bekomme Caption, CommandLine' – JosefZ

Antwort

1

so etwas wie dieses Versuchen WMIC mit:

@echo off 
wmic process get executablepath | find /i "F:\PVE Server\ShooterGame\Binaries\Win64\start.exe" 
set result=%ERRORLEVEL% 
if "%result%"=="1" echo "not running" 
if "%result%"=="0" echo "running" 
+0

OK, aber wie kann ich den Prozess ausführen, wenn er nicht läuft –

+0

Ersetze den 'echo' Befehl mit deinem' start' Befehl. – Stephan

Verwandte Themen