Batch if Abfrage

easy.2ci

Commodore
Registriert
Mai 2006
Beiträge
4.390
Hey,

hab hier ein Windows7 System mit einer VM in Oracles VirtualBox. Diese kann sich aus verschiedenen Gründen selbst beenden.

Ich erstelle gerade eine Batch Datei, die ich periodisch laufen lasse, die schauen soll ob die VM läuft, und falls nicht, diese startet.

Den Start Befehl einfach periodisch absetzen ist doof, denn es kommen Fehlermeldungen, falls diese schon gestartet ist.


Mit

tasklist | sort | find /I "VirtualBox.exe"

prüfe ich, ob die VM gestartet ist. Nur wie baue ich das in ein IF Konstrukt ein, so daß wenn der tasklist nichts liefert, der Start Befehl "VBoxSDL.exe --startvm UbuntuS1" abgesetzt werden kann?

Ein Tipp wäre prima. Steh grad auf dem Schlauch....
 
du solltest lieber untersuchen wieso sich die VM beenden kann. ist da evtl ein automatischer standby oder hibernate aktiv?
 
Code:
tasklist|find /I /C "VirtualBox.exe" > temp.txt
for /F %%i in (temp.txt) do if %%i EQU 0 start VirtualBox.exe
del  temp.txt
 
Zuletzt bearbeitet:
@r0b0t: Danke, funktioniert super. Der Trick mit find /C ist super, denn die Zahl kann man einfach auswerten.

Spitzen Idee war das.


Viele Grüße
 
Zurück
Oben