Batch-Schleife per Taste beenden.

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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


Marghytis  09.06.2013, 21:38

immernoch etwas komisch :) Markier einfach den Text und klick oben "Codebeispiel einfügen" oder strg + K

2

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


TheCraftingLion 
Fragesteller
 09.06.2013, 20:43

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!

0
ZombieSoft  13.06.2013, 02:08
@TheCraftingLion

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.

0