exe und danach automatisch batch ausführen

Homoioteleuton

Lt. Commander Pro
Registriert
Nov. 2008
Beiträge
1.667
abend!!

ich möchte gerne dass beim aufruf einer exe datei über eine verknüpfung gleich eine .bat datei mitgestartet wird
möglichst mit einer kurzen verzögerung von 5 sec

habe win XP home
 
Hm.. normalerweiße das ganze mit einer Batch schreiben, die dann als erstes die *.exe startet, dann einen Ping an eine nicht existente IP sendet, mit einer Timeout-Zeit von 5 Sekunden und danach die *.bat startet.
Sollte eigentlich gehen, korrigiert mich, wenn ich falsch liege.


Beispiel:

START x:\xxxx\*.exe
PING 0.0.0.0 -n 1 -w 5000 >nul
START x:\xxxx\*.bat
 
Nicht ganz, so haut es hin:
Code:
@echo off
start x:\yyy\zzz.exe
ping localhost -n 5 >nul
start x:\ppp\qqq.cmd
exit
Localhost anzupingen ist zwar keine "saubere" Methode, aber zwischen jedem Ping ist circa eine Sekunde Pause, somit funktioniert es schon recht gut.

"-n 5" bewirkt übrigens fünfmaliges anpingen, während ">nul" die Anzeige des Pingvorganges verhindert.
 
naja die von mir gepostete Pingmethode funktionierte bei mir eigentlich immer.
Aber in dem Gebiet bin ich sowieso nicht so gut ;)

PING 0.0.0.0 -n 1 -w 5000 >nul

Ping = pingbefehl
0.0.0.0 = die Adresse die "angepingt" werden soll
-n [x] = Anzahl der Versuche bis Abbruch
-w [x] = Timeout-Zeit, bzw Zeit, wie lange versucht werden soll, einen Ping zu senden (in ms angegeben)
 
Zuletzt bearbeitet:
Ich würd noch Anführungszeichen um den Pfad machen, sonst gibts Probleme wenn Leerzeichen enthalten sind.
Schaut dann so aus:
Code:
@echo off
start "Fenstertitel" "x:\yyy\zzz.exe"
ping localhost -n 5 >nul
start "Fenstertitel" "x:\ppp\qqq.cmd"
exit

Da wo ich Fenstertitel geschrieben hab kann man hinschreiben, was man will.
Ist eigetnlich blos da, weil start als ersten Parameter den Titel vom neu geöffnetetn Fenster hat.
 
@ PsychoX7
"PING 0.0.0.0 -n 1 -w 5000 >nul" dauert bei mir aber ziemlich genau Null Sekunden. Kann es sein, dass das nur die Timeout-Zeit ist und falls eine Antwort kommt, nicht mehr gepingt wird?
Wobei es eventuell auch an meinem XP x64 liegen könnte, vielleicht ist es da anders...

Wenn ich
Code:
echo %time%
PING 0.0.0.0 -n 1 -w 5000 >nul
echo %time%
ausführe, weichen die beiden Zeiten um nur 0,01 Sekunden ab.

@ Grantig
Stimmt, die Fenstertitel-Geschichte hat mich auch schonmal fast zum Verzeifeln gebracht (bis mein Problem auf ForumBase gelöst wurde :)).


Edit:
Ich sehe gerade, dass es "ping localhost -n 6 >nul" heißen muss, da dieser Parameter ja die Anzahl der Ping-Vorgänge angibt und jeder Pingvorgang nur ~1 ms dauert.
 
Zuletzt bearbeitet:
die methode mit der nicht existenten ip dürfte genauer und zuverlässiger sein. man sollte bloß eine gültige nehmen, nicht 0.0.0.0 sondern 1.1.1.1 zum beispiel (außer man hat natürlich gerade die ip im netzwerk belegt, was eher ungewöhnlich sein sollte).
also:
PHP:
@echo off
start "titel" "prog1"
ping 1.1.1.1 -n 1 -w 5000>nul
start "titel" "prog2"
 
Zuletzt bearbeitet:
Backslash schrieb:
die methode mit der nicht existenten ip dürfte genauer und zuverlässiger sein. man sollte bloß eine gültige nehmen, nicht 0.0.0.0 sondern 1.1.1.1 zum beispiel (außer man hat natürlich gerade die ip im netzwerk belegt, was eher ungewöhnlich sein sollte).
also:
PHP:
@echo off
start "titel" "prog1"
ping 1.1.1.1 -n 1 -w 5000>nul
start "titel" "prog2"

Stimmt - hatte es wohl falsch in Erinnerung, mit der IP
"-w 5000" sollten genau 5 Sekunden sein. Finde ich ganz praktisch, um Programme zeitverzögert zu beenden oder zu starten o.ä..
 
Gut, wenn man eine nicht existierende IP nimmt, funktioniert das natürlich genauso.

@ Homoioteleuton
Lass uns doch mal hören, ob du es hinbekommen hast :)
 
sry dass ich mich so spät melde
aber die variante mit einem ping hat funktioniert
habe den ping auf 127.0.0.1 gelenkt und einen timer von 6 sek. eingebaut
 
gibt es nicht alternativ zum "Ping-Warten" die Möglichkeit, "Choice" zu benutzen? Ist vielleicht eleganter :-)
 
Zurück
Oben