Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Dos Tastenbelegung

Andrea Siegert / 10 Antworten / Flachansicht Nickles

Hallöchen!

Ich habe hier eine kniffelige Aufgabe zu beanworten, aber schaffe es nicht allein. Wer kann mir dabei helfen?
Und los gehts:

Batch-Datei erstellen,mit wahlweise 2 verschiedennen Tastenbelegungen, auswahl durch Eingabe einer Option. Durch Eingabe der Option \\3 sollen alle Belegungen gelöscht werden und das Systemprompt restauriert.

Das ist die Aufgabe und nun mein verzweifelter Ansatz.

@ echo off
rem *** Als erstes muß das Prompt als Systemprompt gespeichert werden.

set prompt=systemprompt

rem *** Nun kann man beginnen die 2 Tastenbelegungen zu schaffen. damit diese funktionieren muß der Treiber Ansi.sys geladen sein, man kann ihn einfach in die Cpnfig.sys installieren. Bei der ersten Belegung soll der Befehl dir ausgeführt werden, durch die Eingabe von ALT+D.

prompt $e[0;32;"dir";13p

rem *** Diese Belegung speichere ich jetzt und entferne das prompt wieder um um die zweite Belegung zu schaffen und ebenfalls wieder entfernen.

set prompt=prompt1
prompt $e[0;32p

rem *** Bei der zweiten Belegung soll durch Eingabe von ALT+W das Verzeichnis \\Word geöffnet werden und das Programm Word ausgeführt werden.

prompt $e[0;17;"cd\\word";13;"word"13p
set prompt=prompt2
prompt $e[0;17p

rem *** Ich habe jetzt das Systemprompt gespeichert um es nachher mit der Option \\3 wieder restaurieren zu können und 2 Tastenbelegungen geschaffen,gespeichert. Nun kommt auch schon mein Problem, wie bekomme ich durch Eingabe einer Option die Belegungen gewächselt und wie durch die Option \\3 gelöscht um den Urzustand(Systemprompt) herzustellen?

bei Antwort benachrichtigen
Andrea Siegert Borlander „ So änderst Du das Promt in den Text Systemprompt , der anschließend statt...“
Optionen

Hallo!

Ok habe dran gearbeitet, könnte es dann so aussehen, kann es leider nicht testen?

@echo off
set Systempromrt=%prompt%

prompt $e[o;32;"dir";13p
set prompt1=%prompt%
prompt $e[0;32p

prompt $e[0;17;"cd\word";13;"word";13p
set prompt2=%prompt%
prompt $e[0;17p

if"%1"=="/1" then goto prompt1
if"%1"=="/2" then goto prompt2
if"%1"=="/3" then goto Systemprompt
if"%1"=="" then goto ende

:prompt1
set prompt=%prompt1%
shift
goto ende

:prompt2
set prompt=%prompt2%
shift
goto ende

:Systemprompt
set prompt=%Systemprompt%
shift
goto ende

:ende
echo Das war`s!

bei Antwort benachrichtigen
@Borlander Dr. Hook