BATch-Programm wo ist mein Fehler?

BmwM3Michi

Admiral
Registriert
Mai 2009
Beiträge
7.505
ECHO On
start "D3DOverrider" "C:\Program Files (x86)\D3DOverrider\D3DOverrider.exe"
"wait.exe" 5
start "METRO 2033" "C:\Users\Michael\Desktop\Metro 2033.url"
start "KillD3DOverr" "C:\Program Files\PsTools\pskill.exe" D3DOverrider.exe"


Hi

Also ich möchte folgendes:

-starte D3DOverrider.exe
-warte 5 sec.
-starte Metro 2033.url (Steamversion)
-beende D3Doverrider.exe (ERST NACHDEM Metro2033 beendet wurde)


nachdem Metro2033 gestartet wurde beendet er D3Doverrider.exe sofort wieder,
ich möchte aber das D3Doverrider.exe erst nach Beenden von Metro2033 beendet wird!


Was muss ich bitte noch einfügen und wo?


Gruß Bmwm3michi
 
versuch mal Metro 2033 mit einem direktlink zu der exe datei zu starten.
Denke das liegt daran. Weil die url datei ja nur verlinkt und mit dem öffnen des links ist der befehl für die batch datei abgeschlossen und er geht über zum nächsten schritt, in dem fall "KillD3DOverr"
 
Hi,

Mit "start ..." startest du in einer Batch ein Programm ohne auf Beenden zu warten.
Was du suchst ist: "start /wait ..."

Grüße,

d2boxSteve
 
Bin mir nicht ganz sicher, aber müsstest Du nicht "call" anstatt "start" benutzen?
Jedenfalls für den Metroaufruf.
 
Zuletzt bearbeitet:
ECHO On
start "D3DOverrider" "C:\Program Files (x86)\D3DOverrider\D3DOverrider.exe"
"wait.exe" 5
start/wait "METRO 2033" "E:\games\steam\steamapps\common\metro 2033\metro2033.exe"
start "KillD3DOverr" "C:\Program Files\PsTools\pskill.exe" D3DOverrider.exe"

Geht auch nicht gleiches Problem er wartet nicht bis metro beendet wurde!
Ergänzung ()

Wo müsse CALL dann stehen?
 
ansonsten einfach nach dem metro aufruf ein PAUSE einfügen? so bleibt zwar die dosbox nach beenden von metro offen und man muss noch irgendeine taste drücken damit die batch-datei fertig abgearbeitet wird, aber müßte testweise gehen.
ps müßte nicht nach dem start ein leerzeichen sein bevor du /wait machst?
 
@nitech
ok mit PAUSE funktioniert es jetzt muss ich halt enter drücken damit das batchfenster verschwindet!

ECHO On
start "D3DOverrider" "C:\Program Files (x86)\D3DOverrider\D3DOverrider.exe"
"wait.exe" 5
start "METRO 2033" "C:\Users\Michael\Desktop\metro 2033.url"
PAUSE
start "KillD3DOverr" "C:\Program Files\PsTools\pskill.exe" D3DOverrider.exe"


Falls jemand weis wie es doch noch mit start /wait funktioniert bitte mal das Programm hinschreiben!



Danke euch!
.
 
Zuletzt bearbeitet:
Ich dachte eigentlich so:

@echo on
start "D3DOverrider" "C:\Program Files (x86)\D3DOverrider\D3DOverrider.exe"
"wait.exe" 5
call "C:\Users\Michael\Desktop\metro 2033.url"
start "KillD3DOverr" "C:\Program Files\PsTools\pskill.exe" D3DOverrider.exe"


!!Aber "call" funktioniert nur mit ausführbaren Dateien (.bat, .com und .exe), ich weis nicht ob du Metro per .exe in Steam irgendwo aufrufen kannst.
 
also

start /w wäre schon richtig funktioniert aber mit der metro2033.exe nicht,
habe das gleiche mal mit einer Aufgabe der Windows Aufgabenplanung versucht,
wenn man hier 2 Programme in nur einer Aufgabe eingibt wird auch hier normal das 2.P erst nach beenden
des 1.P gestartet - Aber auch hier macht die Metro2033.exe es nicht!=)
 
Die Dosbox schliesst sich alleine wenn du statt wait "@ping -n 20 localhost> nul " eingibst. In diesem Fall nach 20sec.
 
@TrooperCK
jo aber soll sie ja erst nach Beenden von Metro2033 und nicht schon nach zb 20sec.
 
wieso nicht so?:


ECHO On
start "C:\Program Files (x86)\D3DOverrider\D3DOverrider.exe"
"wait.exe" 5
C:\Users\Michael\Desktop\Metro 2033.url
start "taskkill /IM D3DOverrider.exe /f"

oder bleibt .url nicht in der dosbox bestehen?


oder du machst ne while-schleife mit tasklist-filtern.
im pseudocode so:

while (zeilenoutput von "tasklist /FI "IMAGENAME eq metro.exe"" > 1) do
wait 20 sekunden
end while
d3doverrider killen

oder du versuchst das ganze mit nem VBScript.
 
Zuletzt bearbeitet:
Zurück
Oben