Supportnet / Forum / Anwendungen(Java,C++...)
5 Sekunden warten (Batch)
Frage
[b]Hallo,[/b]
ich habe folgendes Probelm.
[i]Ich möchte gerne eine Batch Datei für 5 Sekunden anhalten, aber möchte dabei auf fremde Programme (wie wait oder ähnliches) verzichten. Der Ping Befehl ist auch keine gute Idee.
Gibt es nicht eine Möglichkeit irgendwie eine for Schleife als Warteschleife zu gebrauchen? So ähnlich wie bei C++ ... wäre so meine Idee.[/i]
Veilleicht könnt ihr mir ja helfen.
Gruß
Kevin
Antwort 1 von disco
moin
hatte das problem auch neulich.
https://supportnet.de/threads/1188579
und es gibt da für batches keine interne lösung für passives warten. wenn du ne schleife machst (kannst in meinem thread sehen, wie das geht), musst du dann einfach irgendne zahl hochzählen und wenn die über nem bestimmten wert ist aus der schleife rausspringen.
allerdings ist das aktives warten, und verbraucht prozessorzeit. eine lösung mit nem wait-prog ist da besser.
in vbs würde man das auch alleine mit boardmitteln hinbekommen. davon hab ich aber kaum ahnung.
g,
disco
hatte das problem auch neulich.
https://supportnet.de/threads/1188579
und es gibt da für batches keine interne lösung für passives warten. wenn du ne schleife machst (kannst in meinem thread sehen, wie das geht), musst du dann einfach irgendne zahl hochzählen und wenn die über nem bestimmten wert ist aus der schleife rausspringen.
allerdings ist das aktives warten, und verbraucht prozessorzeit. eine lösung mit nem wait-prog ist da besser.
in vbs würde man das auch alleine mit boardmitteln hinbekommen. davon hab ich aber kaum ahnung.
g,
disco
Antwort 2 von Kevin2310
Naja, so hab ich mir das auch nicht vorgestellt. Eine for Schleife in der Batch ist nifht Möglich?
Also ich glaube langsam da gibt es wohl wirklich keine Lösung um das in der Batch realisieren zu können.
Naja muss ich mir halt was anderes einfallen lassen ;)
mfg
Kevin
Also ich glaube langsam da gibt es wohl wirklich keine Lösung um das in der Batch realisieren zu können.
Naja muss ich mir halt was anderes einfallen lassen ;)
mfg
Kevin
Antwort 3 von Dibol
Auch eine Möglichkeit:
echo >1.vbs wscript.sleep 5000
cscript 1.vbs
del 1.vbs
c:\windows\notepad.exe
Antwort 4 von Kevin2310
Zitat:
echo >1.vbs wscript.sleep 5000
cscript 1.vbs
del 1.vbs
c:\windows\notepad.exe
echo >1.vbs wscript.sleep 5000
cscript 1.vbs
del 1.vbs
c:\windows\notepad.exe
Versteh ich das Programm richtig:
Naja die erste Zeile wird ihm wohl sagen, dass er auf diese 1.vbs zugreifen soll.
Die zweite Zeile startet ein script, denk ich mal.
Die 3. löscht es sofort wieder.
Und dann zuletzt wird notepad.exe ausgeführt.
Oder hab ich da jetzt nur Schwachsinn hingeschrieben ;-)
mfg
Kevin
Antwort 5 von Dibol
Stimmt fast, :-)
Es ist halt ne Lösung ohne "richtig" externes Programm weil das Batch das Programm (Skript) mit dem echo-Befehl selbst erstellt und nach der Benutzung wieder löscht.
Cscript ist die Konsolenversion vom Windows Script Host und startet das Skript, das als Argument übergeben wird.
Es ist halt ne Lösung ohne "richtig" externes Programm weil das Batch das Programm (Skript) mit dem echo-Befehl selbst erstellt und nach der Benutzung wieder löscht.
Cscript ist die Konsolenversion vom Windows Script Host und startet das Skript, das als Argument übergeben wird.
Antwort 6 von Kevin2310
Na gut ;-)
Aber das sieht schonmal schön aus. Ich werde es mal ausprobieren. Danke!
mfg
Kevin
Aber das sieht schonmal schön aus. Ich werde es mal ausprobieren. Danke!
mfg
Kevin
Antwort 7 von Kevin2310
Funktioniert auch sehr gut :-)
Antwort 8 von Das_Urmel
Besorg dir WAIT.EXE
Stammt übrigens aus dem Resourcekit von ms.
in Batch
wait 60
^^^^ 60 Sekunden warten - denn gehts weiter.
das mit vbs ist zwar richtig, aber bischen umständlich?
mfg
Michael
Stammt übrigens aus dem Resourcekit von ms.
in Batch
wait 60
^^^^ 60 Sekunden warten - denn gehts weiter.
das mit vbs ist zwar richtig, aber bischen umständlich?
mfg
Michael
Antwort 9 von Kevin2310
Hm................. ich sagte doch oben, dass ich keine Wait.exe (fremde Programme) haben will ;-)
So wie Dibol es gesagt hat, ist es perfekt.
So wie Dibol es gesagt hat, ist es perfekt.
Antwort 10 von Das_Urmel
Unsinn-
Angabe Wartezeit in Sekunden, nicht Minuten
mfg
Michael
Angabe Wartezeit in Sekunden, nicht Minuten
mfg
Michael
Antwort 11 von Dibol
Zitat:
das mit vbs ist zwar richtig, aber bischen umständlich?
das mit vbs ist zwar richtig, aber bischen umständlich?
Dafür entspricht es den Anforderungen. Siehe Frage^^ ;-)
Antwort 12 von Kevin2310
Die Hauptsache ist, dass es so funktioniert wie ich das haben wollte ;-)
Antwort 13 von JuLi-LeoNova
Ach quark ...
für eine pause brauchst du nicht "vbs" oder "externe" programm hilfen!
ping 127.0.0.1 -n 10 >nul
Da hast Du deine Pause ...
description
"ping 127.0.0.1" :: sollte klar sein
"-n" :: Anzahl der zu sendenen Echoanforderungen
"10" :: is klar ... 10 Anforderungen = 10 sek. pause
">nul" :: ausgabe ins leere ... d.h. Antwort von .. wird nicht gezeigt!
Bei fragen ... :P
für eine pause brauchst du nicht "vbs" oder "externe" programm hilfen!
ping 127.0.0.1 -n 10 >nul
Da hast Du deine Pause ...
description
"ping 127.0.0.1" :: sollte klar sein
"-n" :: Anzahl der zu sendenen Echoanforderungen
"10" :: is klar ... 10 Anforderungen = 10 sek. pause
">nul" :: ausgabe ins leere ... d.h. Antwort von .. wird nicht gezeigt!
Bei fragen ... :P

