Wie kann ich in einer *.cmd" eine Pause erzeugen?
Konkret - ich starte eine cmd - es soll eine Meldung abgespielt werden:
@echo off
e:\Meldung.wav
. nun weitere Befehle
echo Ausgeführt !
pause
Ich möchte nun, das nach der dem Start "Meldung.wav" eine 5- Sekunden- Pause eingelegt wird, bevor die anderen befehle ausgeführt werden.
Irgendwas mit " -t 5" - aber das ist nur wildes Drauflos- Probieren, gefällt mir nicht.
Wie kann ich das Ziel erreichen?
Jürgen
Anwendungs-Software und Apps 14.489 Themen, 73.614 Beiträge
Eine Pause machst du mit dem Befehl "pause" (Drücken Sie beliebige Taste um fortzufahren).
Meinst du dies?
Oder brauchst du ein Auswahlmenü wo du mit bestimmten Tasten bestimmte Befehle absetzt?
mit
timeout /t 5
Füge folgende Zeile ein:
ping -n 5 127.0.0.1 > NUL
Ganz herzlichen Dank für eure Antworten!
@Wiesner -
Eine Pause machst du mit dem Befehl "pause"
Nein, das war nicht meine Frage. Ich wollte das mit einem DOS- befehl automatisch ablaufen lassen.
@mi~we -
mit timeout /t 5
Das klappt nur, wenn ich das Fenster des Players (in meinem Falle VLC) nach Abspielen der Meldung von Hand schließe. Müßte also noch ein Schließbefehl mit rein.
@InvisibleBot -
ping -n 5 127.0.0.1 > NUL
Das klappt ebenfallls nur einwandfrei, wenn ich das Wiedergabefenster schließe.
Jürgen
ergänze mal den Aufruf von vlc am Ende um
vlc:quit
Hab ich gemacht, sowohl mit Deinem, als auch mit InvisibleBots Vorschlag. - Fenster schließt nicht.
Scheint wohl doch nicht ganz so einfach zu sein!
Jürgen
Das Problem ist, daß der VLC (soweit ich weiß !) keinen Kommandozeilen-Parameter hat der bewirkt, daß sich der VLC nach der Wiedergabe beendet. Und solange der VLC noch läuft werden die weiteren Befehle in deiner Batch-Datei nicht abgearbeitet.
Nachtrag: füge mal am Ende des vlc-Aufrufs
--play-and-stop
an. (Mann, der VLC hat aber auch schei.. viele Optionen )
Oh Mann, vielleicht besser so "vlc.exe --play-and-stop ......"
Auch nichts, gleicher Effekt.
Ich glaube, peterson hat den Finger drauf - das Ganze muß im VLC geklärt werden.
Ich bin erst mal 2, 3 Stunden weg.
Jürgen
Ich glaub, ich habe - VLC - Wiedergabeliste - Haken rein bei "Abspielen und beenden".
Werde ich heut noch erproben.
Jürgen
Muß es VLC sein ? Sonst hol dir "playwav.exe"
http://www.muconsulting.com/playwav/index.html
Syntax ist simpel: playwav.exe 'Pfad zur wav-Datei'
Das Ding beendet sich nach der Wiedergabe automatisch ! (und ist auch nur 40 KB groß )
kann sein daß die Option auch "--play-and-exit" heißt....
http://www.bjoernhenke.de/frame.htm?/wait/index.de.htm
oder
"sleep.exe"
http://www.hotelreitlwirt.at/forum/
und das funktioniert auch.
ping localhost -n 11 >NUL
Beispiel für 10 Sekunden
Das Gleiche.
@echo off
e:\Meldung.wav
ping localhost -n 5 >NUL
http://www.juekirs.de/Foren/nickles/dos-01.jpg
- erst, wenn ich von Hand das VLC- Fenster schließe, gehts weiter und im DOS- Fenster wird rückwärts gezählt.
Jürgen
PS: Die Links werde ich mir ebenfalls anschauen, Danke.
Aber erst wollte ich gerne wissen, wie man das eben auch ohne Tool erreicht.
Ohne diese Ping-Geschichte gibt es unter DOS keine Wait-Möglichkeit.
Außer früher in der Config.sys, wenn man da mit einem Menü gearbeitet hat.
Wenn man nichts angeklickt hat, dann ging es mit Default nach z.B. 30 Sekunden weiter.
Bei Dir sieht es so aus, dass Du VLC gestartet hast. Damit hast Du DOS verlassen und VLC hat die Kontrolle. Erst wenn DU VLC schließt, bekommt DOS die Rückmeldung, dass es dort wieder weitergehen darf.
Versuche das Problem mal mit VBS zu lösen.
Ich benutze das hier genau anders herum. Ich starte ein Programm und warte definitiv auf das Schließen, um dann spezielle Backup-Dateien zu löschen, die dort angelegt werden.
Ich muß mich wieder mal bei Euch bedanken, konnte meinen Wissensschatz erweitern.
Letztlich war es peterson, der mich auf die richtige Spur brachte mit
Bei Dir sieht es so aus, dass Du VLC gestartet hast. Damit hast Du DOS verlassen und VLC hat die Kontrolle
Ich habe nun bei VLC diese Einstellung vorgenommen:
http://www.juekirs.de/Foren/nickles/dos-02.jpg
- und schon benötige ich keinerlei Zeitverzögerung mehr. Die wav wird abgespielt, VLC beendet - und die cmd übernimmt den weiteren Ablauf. So, wie ich es eigentlich wollte.
Allerdings sind auch die anderen Hinweise von mi~we und InvisibleBot sehr interessant - so habe ich den Zusammenhang noch nicht gesehen. Hab mich ja bisher auch kaum mit der DOS- Befehlsstruktur befaßt.
Es wird mir also auch anderweitig viel nützen, will ich doch weitere sich ständig wiederholende Abläufe ebenfalls sozusagen automatisieren.
Danke!
Jürgen
Ich glaube jetzt verstehe ich dich erst richtig: Du dachtest, du mußt deine Batch-Datei für 5 Sekunden pausieren, damit in dieser Zeit die wav-Datei abgespielt werden kann bevor es weiter geht ?!?
Hehe, ich war auf demselben Holzweg... ;-)
Ja - ganz genau so war es!
Ich nahm an, das ich diese Zeitverzögerung benötige, damit die Meldung abgespielt werden kann.
Ich schrieb ja in meinem Startposting
"Ich möchte nun, das nach der dem Start "Meldung.wav" eine 5- Sekunden- Pause eingelegt wird, bevor die anderen Befehle ausgeführt werden"
Ganz ehrlich, ohne das erst mal auszuprobieren nahm ich an, das der folgende Shutdown- Befehl sofort ausgeführt wird und somit keine Zeit bleibt, die Meldung abzuspielen.
Nun weiß ich es besser - die cmd wartet auf eine Rückmeldung, bevor sie weitermacht.
Jürgen
Tja...und ich habe mich gewundert, warum du nach dem Abspielen der wav-Datei eine Pause von 5 Sekunden haben willst....aber schön, daß man Probleme auch dann lösen kann wenn man aneinander vorbeiredet :-D
Ja, das kann man - jedenfalls dann, wenn der Fragesteller versucht, mitzudenken.
Denn dann ist so ein Thread fruchtbar - so soll es sein.
Noch einmal - herzlichen dank!
Ich freu mich jedenfalls immer, wenn ich irgendwie mein Ziel erreicht habe - und noch dazu genau weiß, wie und warum.
Jürgen
Wer nicht redet, dem kann nicht geholfen werden.
Hi,
von Microsoft gabs mal vor Jahren die Datei "sleep.exe". Lad dir die mal runter, wenn nötig eine PM an mich, dann schick ich sie dir.
Dann einfach in die Batch z.B.:
sleep 5
eintragen, dann macht das Ding 5 Sekunden Pause. Haben wir bis vor 1 Jahr bei vielen Kunden so eingesetzt, läuft prima.
Gruß
Micha
Danke für das nette Angebot, aber ich hab sie schon - weiter oben hat peterson diese Datei schon mal verlinkt:
http://www.hotelreitlwirt.at/forum/
Nur: Wie trage ich diese exe in eine batch- Datei ein?
Ich hab diese 14kb, wenn ich die starte, dann passiert eigentlich garnichts. Wenn man vom Aufblitzen eines DOS- Fensters absieht.
Oder muß ich die einfach nur ansprechen?
Probiere ich aus.
Jürgen
upps sorry, vergessen. Die Datei muss ins system32-Verzeichnis rein. Dann kann sie von überall aufgerufen werden.
Dann einfach "sleep 5" (ohne Anführungszeichen) in die Batch eintragen. Das funktioniert auf jeden Fall!
Gruß
Micha
Das ist eine DOS-Anwendung, die eine Batch-Datei für x-Sekunden anhält. Wenn Du die einfach ausführst öffnet sich ein DOS-Fenster in dem sie ausgeführt wird - und das schließt sich natürlich auch gleich wieder weil ja keine Variable dabei war die die (Warte)Zeit definiert.