Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

In Batch Datei Zeitverzögerung einbauen

Hallo!

Ich möchte gerne in meine Batch Datei eine Zeitverzögerung einbauen, damit man die eventuelle Fehlermeldung noch lesen kann, bevor sich das Fenster schließt.

In Google habe ich schon gesucht, musste aber feststellen, das es viele Befehle bei XP nicht mehr gibt, die meisten behalfen sich mit dem Ping Befehl, nur mag das bei mir nicht klappen.

Kennt jemand noch eine andere Möglichkeit?

Ich hab meine Bat Datei mal angehängt, ich möchte eigentlich bei den Abfragen einen Zeitabstand von ca.10 secs, damit man die Meldung noch lesen kann.


mfg


Antworten zu In Batch Datei Zeitverzögerung einbauen:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt
In Google habe ich schon gesucht, musste aber feststellen, das es viele Befehle bei XP nicht mehr gibt, die meisten behalfen sich mit dem Ping Befehl, nur mag das bei mir nicht klappen.
 

Lies den oben zitierten Satz bitte nochmal in Ruhe, mach dich über den ping-Befehl schlau, prüfe, was das ganze jetzt mit Stapelverarbeitung zu tun haben könnte und inwieweit das ganze in Abhängigkeit zu WinXP  nicht funktioniert, weil entsprechende Befehle nicht vorhanden sind.

!?!?!?!

Du wirst sehr schnell merken, dass das totaler nonsens war.

Aber mal als Lösungsvorschlag:
Warum fügst du nicht an den entsprechenden Stellen, welche einen Fehler produzieren könnten:

1. (als einfachste Lösung) eine Pause (Befehl: pause) ein, somit wird die Stapelverarbeitung an der Stelle unterbrochen und läuft erst nach betätigen einer beliebigen Taste weiter...

oder

2. (etwas eleganter) ein wait (Befehl wait [sec] [key] ( wobei Key optional ist, sec gibt die Anzahl der zu wartenden Sekunden an, Key gibt an, mit welcher Taste die Wartezeit abgebrochen weren kann)) ein...

oder

3. (je nachdem was du da verarbeitest) kannst du auch mit Errorlevel und Returncodes arbeiten. Dies setzt allerdings vorraus, das dein zu verarbeitendes Programm sowas wie Errorlevel ausgibt.

mfg
tremor4fun


     
« Letzte Änderung: 26.08.07, 04:19:39 von tremor4fun »

Danke für deine Antwort!

Meine gesamten Batchprogrammierungskenntnisse beruhen sich auf Suchen in Google und da fand ich auch das es bestimmte Befehle wie choice oder delay unter XP nicht mehr funtkionieren und sich viele mit dem Befehl ping behalfen bei dem man zwar keinen exakten Zeitraum bestimmen konnte, aber das Fenster blieb zumindest ein paar secs offen.

Zitat
@echo off
wait 10 key

Hiermit müsste ich ja ein Fenster bekommen, das sich nach 10 Sekunden wieder automatisch schließt?! Tut es aber nicht...

Zitat
@echo off
echo Schließt sich in 10 secs...
wait 10 key
Und wenn ich sowas hier machen möchte, ist es in einer Endlosschleife und hört nicht mehr auf den Text zu schreiben...

 ???

mfg
 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
4 Leser haben sich bedankt

Ok, du hattest zumindest mit den fehlenden Befehlen recht.

wait existiert tatsächlich nicht mehr, aber dann mit ping zu arbeiten halt ich immernoch für Quatsch (in dann am besten noch irgendwas pingen, von dem man weiss, das es nur langsam antwortet um die Pause zu verlängern  ;D ) download  von wait hier:

http://www.bjoernhenke.de/wait/wait_20.zip
mfg
tremor4fun 

« Letzte Änderung: 26.08.07, 18:04:38 von tremor4fun »

Aha sehr schön, klappt soweit wunderbar, nur muss ich ja dann auch immer die wait.exe im gleich ordner wie meine .bat lassen oder?


mfg

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

und warum verwendest du nicht den Befehl "pause" ?

Wenn ein Fehler auftritt in "pause" verzweigen, ansonsten übergehen.

Überigens kann ich keine angehängte bat-Datei finden.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Enweder so, oder "global" verfügbar machen.
Dazu einfach nen Pfad in den Umgebungsvariabeln setzen.

mfg
tremor4fun

Mit pause muss ich immer noch eine Taste drücken und das ist dann schon wieder zuviel! ;D


Zitat von: tremor4fun
Enweder so, oder "global" verfügbar machen.
Dazu einfach nen Pfad in den Umgebungsvariabeln setzen.
mfg
tremor4fun

Und wie mach ich DAS dann? Bei dem Waitbefehl jedes mal den Pfad zur .exe angeben?



Weiß jemand vll. auch wie ich bei eingeschränkten Benutzern der Batch Adminrechte geben kann, damit der Kopiervorgang ausgeführt werden darf? Windows XP Home

mfg

Hab gerade gemerkt, das man bei den Taks sogar einstellen kann mit welchem Benutzer er das ganze ausführen soll, so kann ich die Batch auch gleich als Admin ausführen lassen.

 

Tut mir leid wegen Dreifachpost, nur wollte ich damit nicht warten bis jemand wieder postet.

Da ich den Backupbefehl nicht ohne Adminrechte ausführen kann, möchte ich eine Abfrage haben, der den Namen des Adminkontos und sein Passwort abfrägt und ich dann den Backupbefehl mit den Adminrechten durchführen kann.

Oder gibt es vll. noch eine andere Möglichkeit der Batch den Kopiervorgang unter eingeschränkten Benutzern zu ermöglichen?

mfg

Hey
Ich machs immer so:
aber wenn du zb. 5sec. willst musst du 6 eingeben ka why
aber hier:
ping /n 6 localhost >nul

Habe gerne geholfen :D


MfG. Helper (gast)

An Helpi

Das mit den 5 Sekunden aber man muss 6 pings eingeben. Das hat ne ganz einfache erklärung. Die Zeit startet bei 0. Bis SICHTLICH 1 Sekunde um ist, ist schon der zweite Ping an den Localhost. Dies, weil direkt nach der eingabe gleich ein Ping gemacht wird, und dies bekanntlich ja recht schnell. also läuft das ungefähr so:

Sekunden <=> Pings
0 <=> 1
1 <=> 2
2 <=> 3
3 <=> 4
4 <=> 5
5 <=> 6


Grüssle
aivilon

choice.exe aus Win 9x / DOS funktioniert auch unter XP ...

einfach in ein beliebiges Verzeichnis kopieren und mit Pfadangabe aufrufen oder den Pfad in die Pathvariable einbinden oder choice.exe in das Winverzeichnis kopieren

ab Vista gibt es timeout
mitunter auch in den Ressourcenkits zu finden

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
5 Leser haben sich bedankt

@ping -n X localhost> nul

Wobei X = Zeit funktioniert immer noch am besten, nur dass es eben um 1 abweicht, bei
@ping -n 9 localhost> nul
wird also 10 Echos gewartet - dieses MUSS ABER NICHT SEKUNDEN sein, nur ist die Verzögerung der Echos meist sehr nah an einer Sekunde dran.
Wenn es nicht auf biegen und brechen EXAKT eine Sekunde (also 1000ms (+-0)) sein muss, ist @ping die beste wahl.
Oder PAUSE, wobei da eben eine Taste gedrückt werden muss, b4 man weiter machen kann. 

PS: Ups, jetzt habe sogar ich einmal Nekromantie betrieben und einen Uralten Thread beantwortet... warum stand im Forum unter Datum aber, dass der neuste Post erst von vor 2 Tagen war? 

« Letzte Änderung: 30.11.11, 11:50:48 von MTVR6578 »

Ist doch super auch nach Jahren noch einen alten Thread zu beantworten. Es gibt auch sehr viele Leute die außer dem Thread-Ersteller dankbar sind, wenn eine Lösung gepostet wird. Nach einem Jahr wurde mal euf einen Thread eine Lösung gepostet, nach 3 jahren hab ich die Lösung gefunden und sie hat auch noch geholfen.
Also gerne können von mir aus auch alte Threads beantwortet werden


« Brauche hilfe mit BatchNETLOGO HELP »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Auslagerungsdatei
Die Auslagerungsdatei, auch bekannt als virtueller Speicher, ist ein wichtiges Element im Windows-Betriebssystem. Sie dient als Erweiterung des physischen Arbeitsspeicher...

Dateiendungen
Die Dateiendung, auch Dateinamenerweiterung, Dateierweiterung oder einfach "Endung" genannt, besteht aus meistens drei oder vier Buchstaben und wird mit einem Punkt an de...

Dateisystem
Das Dateisystem eines Computers definiert, wie Daten auf einem Speichermedium organisiert werden. Es bestimmt dabei, wie die Informationen auf dem Medium gespeichert, gel...