Batch-Schleife per Taste beenden.
Hallo ich habe ein Problem und zwar will ich eine Batch Datei haben, die einen "Ladebalken " hat und man ihn per Taste beenden kann.
Also ca so: @echo off echo [IIIIIIIIII] 10 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [IIIIIIIII ] 9 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [IIIIIIII ] 8 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [IIIIIII ] 7 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [IIIIII ] 6 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [IIIII ] 5 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [IIII ] 4 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [III ] 3 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [II ] 2 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo [I ]1 echo Abbrechen mit der Taste "1" timeout -t 1 /nobreak >nul cls echo Systhem wird heruntergefahren shutdown -s -t 1 -c "Systhem wird heruntergefahren" Pause>nul
3 Antworten
Ja, das gemeine ist, daß es unmittelbar im Kommandointerpreter keine richtige Tastaturabfrage gibt. Du KANNST sehr wohl ein Prompt erzeugen und auf Nutzereingaben warten lasen, aber dann passiert halt DAS und nichts anderes im Hintergrund.
Wir hatten hier auf Gutefrage auch schon solche Varianten durchgespielt, daß man einen Prozeß mittels "start" in den Hintergrund schickt, dann im startenden Prozeß ein Abfrageprompt erzeugt und den Hintergrund-Prozeß dann mittels gewisser Systemwerkzeuge aus der Prozeßliste herausfiltert und abschießen läßt.
Dazu muß der Hintergrundprozeß allerdings einen systemweit eindeutigen Namen seiner EXE-Datei haben.
Allerdings weiß ich nicht, wie man das ganze mit einem Ladebalken verbinden könnte.
Letztlich, wenn man eh schon dabei ist, ein GUI aufzusetzen, kann man auch gleich auf "richtige" Werkzeuge (eben nicht diesen absolut kastrierten Kommandointerpreter) ausweichen...
(Und ich setze hier gerade immer stillschweigend ein Windows voraus, welches ich aus dem Inhalt der Batch-Datei heraus vermute...)
Sry das ich das so komisch geschrieben habe, desshalb hier noch einmal:
Hallo ich habe ein Problem und zwar will ich eine Batch Datei haben, die einen "Ladebalken " hat und man ihn per Taste beenden kann.
Also ca so: @echo off
echo [IIIIIIIIII] 10
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [IIIIIIIII ] 9
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [IIIIIIII ] 8
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nu
cls
echo [IIIIIII ] 7
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [IIIIII ] 6 echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [IIIII ] 5
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [IIII ] 4
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [III ] 3
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [II ] 2
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo [I ]1
echo Abbrechen mit der Taste "1"
timeout -t 1 /nobreak >nul
cls
echo Systhem wird heruntergefahren
shutdown -s -t 1 -c "Systhem wird heruntergefahren"
Pause>nul
immernoch etwas komisch :) Markier einfach den Text und klick oben "Codebeispiel einfügen" oder strg + K
warum nicht mit type ladebalken?
die steuercodes habe ich nicht mehr im kopf um die einzelnen zeilen/spalten anzusteuern.
(ansi code, (esc codes)) (drucker codes)
in basic ist das mit locate 10,10: gewesen.
einfach mal nach steuercodes googeln. (auch wegen der syntax bei dos)
die kannst du mit echo einbinden.
ist schon zulange her
mit ctrl + c bzw. mit strg + c
echo Drücke STRG + C für abbruch
oder break=ON (das ist DOS, habe aber keine ahnung ob das noch unterstützt wird)
kannst doch nen ping ins nichts senden wegen der zeit.
Mir geht es ja nicht darum, dass der Ladebalken gut ist xD Mir geht es darun, dass ich den Ladebalken, während er läuft abbrechen kann!