Masterenni Geschrieben 15. August 2003 Geschrieben 15. August 2003 Servus, also ich bastel gerade eine Batch-Datei zusammen, welche die Uhrzeit automatisch auf einen bestimmten Tag stellt. Soweit so gut, aber habe ein kleines Problem mit dem Befehl <Pause>, ich brauche eigentlich nur eine Verzögerung von 3-4 Sekunden und keinen, wo ich ständig eine Taste drücken muss, um weiter zu kommen... Hat jmd. einen Plan, wie man das schreiben kann??? Oder kennt jmd. informative Seiten zu Batch-Befehlen??? Danke CU Enni:confused:
root@localhost Geschrieben 15. August 2003 Geschrieben 15. August 2003 hallo ich bin wahrscheinlich auch nicht versierter als du mit batch programmierung. aber mir schwirrt da noch "sleep " im kopf rum. syntax weiss ich jetzt auch nicht genau aber irgendwie so sleep(3) sleep 3 genau hoffe das hilft dir ciao r # # t
Masterenni Geschrieben 15. August 2003 Autor Geschrieben 15. August 2003 Leider nicht, der Befehl "sleep" funktst auch net... schade, trotzdem danke!!!
Go4Nager Geschrieben 15. August 2003 Geschrieben 15. August 2003 sleep ist aber soweit ich das im kopf hab nicht std bei dos/windows dabei ist glaub ich nur im res pack enthalten. oder schau mal dort http://www.simtel.iif.hu/pub/msdos/batchutl/ nach! gruss go4nager
schnerd Geschrieben 15. August 2003 Geschrieben 15. August 2003 Um eine Pause zu machen kannst Du doch auch einfach eine Schleife programmieren, in der ein Wert hochgezählt wird.
U-- °LoneWolf° Geschrieben 15. August 2003 Geschrieben 15. August 2003 Wozu brauchst du die pause????
Hodata Geschrieben 15. August 2003 Geschrieben 15. August 2003 Original geschrieben von schnerd Um eine Pause zu machen kannst Du doch auch einfach eine Schleife programmieren, in der ein Wert hochgezählt wird. Das mach mal unter DOS! Nein, das ist kompliziert. Ich hatte jetzt spontan die Idee, eine kleine exe in einer beliebigen Sprache schreiben mit Parameterübergabe der gewünschten Zeit. Die startest Du dann mit dem Befehl call. unter Turbopascal ist es delay(), C++ ist es usleep usw.
maxim_42 Geschrieben 15. August 2003 Geschrieben 15. August 2003 Das hab ich früher schon mal gepostet: '''''''''''''''''''''''''''''''''''''''''''' Hi ein beliebter Trick ist folgender: ping -n 61 localhost > NUL Das Pingt den eigenen Rechner 61 mal an. Ein Ping dauert ungefähr eine Sekunde. Das ganze braucht kaum Resource. Um die Anzeige zu unterdrücken, wird sie auf NUL umgeleitet. Hoffe es hilft ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Statt 61 setze die Anzahl der Sekunden ein die du warten willst.
Reinhold Geschrieben 16. August 2003 Geschrieben 16. August 2003 Speichere dir folgenden Code in eine Textdatei namens warte.asm: ------------------------------------------------------------------------------------- A pushf ; Flagregister, push di ; Datenindex und push si ; Stackindex sichern mov bx,[005D] ; Dosparameter einlesen cmp bl,30 ; je 153 ; Wenn = 0, Warte auf Taste jb 158 ; Wenn < 0 ungÂltig, Abbruch cmp bl,3A ; jnb 158 ; Wenn > 9 ungÂltig Abbruch And bl,0F ; Hohes Halbbyte filtern ( Hex 35 zum Hex 05 ) Mov bh,0 ; Highbyte löschen mov ax,2c00 ; int 21 ; Funktion 2C liest die Uhrzeit mov ax,dx ; Sekunden & Hunderstel sichern add ah,bl ; Dauer (DOS-Parameter) zu Sekunden addieren mov bx,cx ; Stunden & Minuten sichern cmp ah,3b ; jle 13e ; Wenn Sekunden <= 59 ist Zeit korrekt sub ah,3c ; Sonst 60 abziehen add bl,1 ; Minuten um 1 erhâ€hen cmp bl,3b ; jle 13e ; Wenn Minuten <= 60 ist Zeit korrekt sub bl,3c ; Sonst 60 abziehen add bh,1 ; Stunden um 1 erhâ€hen cmp bh,18 ; je 103 ; Datumswechsel ! Neu anfangen mov di,ax ; mov si,bx ; Endzeit sichern (HHMM in SI, SSHH in DI) mov ax,2c00 int 21 ; Aktuelle Zeit holen cmp si,cx JB 158 ; Std/Min Endzeit < Zeit, Abbruch JA 142 ; cmp di,dx jna 158 jmp 142 mov AX,0C08 int 21 pop si pop di popf int 20 rcx 5D n warte.com w q ------------------------------------------------------------------------------------- Danach hast du im aktuellen Verteichnis ein Mini-Progrämmchen namens warte.com (93 Byte), das deine Aufgabe lösen sollte. Einfach in der Batchdatei an der richtigen Stelle die Zeile "warte 5" eingeben, wenn du 5 Sekunden verzögern willst. hth Reinhold
Reinhold Geschrieben 19. August 2003 Geschrieben 19. August 2003 Hoppla, da war doch noch was: Wenn du den Code in eine Textdatei speicherst hast du natürlich noch kein Programm. Bitte noch aus der Eingabeaufforderung ausführen: debug < warte.asm Sorry Reinhold
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden