fibron Geschrieben 23. März 2010 Geschrieben 23. März 2010 Schönen guten Abend. Versuche gerade ein kleines batch zu schreiben und schon brauche ich eure Unterstützung. Im folgenden Script: @echo off echo. color 1E :: datum set jahr=%date:~-4% set monat=%date:~-7,2% set tag=%date:~-10,2% set p=. echo. ************************************* echo. echo Kopieren von Bilder und Musik echo. echo ************************************* echo %tag%%p%%monat%%p%%jahr% :wahl set /P key=[J]a oder [N]ein? if /I "%key%"=="J" goto :kopieren if /I "%key%"=="N" goto :ende echo. echo Falsche Taste gedrueckt! echo\ goto :wahl ........................ möchte ich einen Timer einbauen, z.B. den hier: :loop cls set s=%time:~6,2% echo Sie haben noch %s% sec zum Ueberlegen ping -n 1 localhost>nul goto loop Nur das Problem, wenn es bis zum Timer kommt, wird der Text "Kopieren von Bilder und Musik" gelöscht, was nicht gewollt ist. Wie bringe ich es der batch bei, den Bildschirm nicht zu löschen und den Timer dazu noch ablaufen zu sehen? Danke im Voraus fibron Zitieren
tester2k5 Geschrieben 24. März 2010 Geschrieben 24. März 2010 Mit "CHOICE" aus dem Windows 2000 Resource Kit kannst du Abfrage, Timer und Standardauswahl nach Ablauf des Timers realisieren. Gruss, tester2k5 Zitieren
fibron Geschrieben 24. März 2010 Autor Geschrieben 24. März 2010 Sorry, aber mir ist nicht ganz klar, wie ich den Befehl CHOICE da einbauen soll. Schon verschiedene Varianten ausprobiert und es klappt nicht. :upps Hat da vielleicht noch jemand einen Vorschlag? (Die ablaufende Zeit soll auf dem Bildschirm zu sehen sein) Zitieren
tester2k5 Geschrieben 24. März 2010 Geschrieben 24. März 2010 Hier ein Beispiel aus Win7, ist ggf. unter XP anders. CLS @ECHO OFF ECHO. CHOICE /C:JN /N /T 5 /D J /M "Are you sure you want to quit. [J/N]" IF ERRORLEVEL 2 ECHO What ever N does IF ERRORLEVEL 1 ECHO What ever J does :EOF PAUSE EXIT Gruss, tester2k5 Zitieren
fibron Geschrieben 24. März 2010 Autor Geschrieben 24. März 2010 Danke für das Beispiel, aber der Timer ist auf dem DOS-Fenster nicht zu sehen. Es wäre mir wichtig zu sehen, wieviel Zeit schon abgelaufen ist und wieviel noch verbleibt. Übrigens, ich teste das alles unter Windows 7. Zitieren
tester2k5 Geschrieben 24. März 2010 Geschrieben 24. März 2010 Sorry, wenn deine Lösung soweit schon funktioniert hat, musst du nur das cls (clear screen) unter loop rausnehmen. Choice kann die Zeit nicht anzeigen, sonst ggf. mit externer EXE oder VBScript... Gruss, tester2k5 Zitieren
Tenebra Geschrieben 29. März 2010 Geschrieben 29. März 2010 Bei Windows 7 und Server 2008 (2008 R2) würd ich mir eh die Powershell angucken mit der V2 lassen sich wohl die dollsten dinger machen (bin aber selber erst an der Oberfläche am kratzen) Zitieren
tester2k5 Geschrieben 29. März 2010 Geschrieben 29. März 2010 CLS @ECHO OFF SET COUNTDOWN=30 :START CLS ECHO. ECHO Countdown: %COUNTDOWN% sec... CHOICE /C:JNA /N /T 5 /D A /M "Are you sure you want to quit. [J/N] " IF %ERRORLEVEL%==3 GOTO :TIMER IF %ERRORLEVEL%==2 ECHO What ever N does IF %ERRORLEVEL%==1 ECHO What ever J does ECHO. PAUSE EXIT :TIMER IF %COUNTDOWN%==5 GOTO :TIMEOUT SET /a COUNTDOWN=%COUNTDOWN%-5 GOTO :START :TIMEOUT CLS ECHO. ECHO Sorry, Time Out! ECHO. PAUSE EXIT Gruss, Tester2k5 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.