Zum Inhalt springen

Batch Menü


hetrust

Empfohlene Beiträge

Hallo,

ich fange gerade erst damit an, und stehe vor einem hoffentlich kleinem Problem.

Ich möchte ein kleines Auswahlmenü schreiben.

Meine Ansetze:

@ECHO OFF 

:ANFANG 

CLS 




ECHO 1.) Verz1. erstellen

ECHO 2.) Verz2. erstellen


ECHO. 

ECHO. 


set /p userinp="Bitte Auswahl eingeben (1/2):"


if %userinp%="1" goto verz1

if %userinp%="2" goto verz2


:verz1

md c:test1


:verz2

md c:test2


:ENDE

PAUSE

Also es soll lediglich in dem selben Verzeichniss, ein neuer folder mit namen test1, und einen mit namen test2 erstellt werden.

Wenn ich das so wie oben nutze, geht nach der Auswahl 1 oder 2 der DOS Prompt einfach zu.

Nutze WinXP Home

Ich brauche da irgendwie einen Schups in die richtige Richtung.

Vielen Dank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zur Ergänzung, wenn du das Skript so lässt, werden bei der Option 1 beide Ordner angelegt.

Vielleicht noch ein goto ENDE zwischen rein schieben.

VIele Grüße

Vader

Ja genau liegt nun mein nächstes Problem.

@ECHO OFF 

:ANFANG 

CLS 




ECHO 1.) Verz1

ECHO 2.) Verz2

ECHO 3.) Verz3



ECHO. 

ECHO. 


set /p userinp="Bitte Auswahl eingeben (1/2/3):"


if %userinp%=="1" goto verz1

if %userinp%=="2" goto verz2 

if %userinp%=="3" goto verz3 



:verz1

call md C:test1

GOTO ENDE


:verz2

call md C:test2

GOTO ENDE


:verz3

call md C:test3

GOTO ENDE


:ENDE

ECHO fertig...


PAUSE

Er erstellt mir immer nur den Ordner test1!

Aber warum ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Begründung für vorhergehenden Post: (nur zur Unterstützung des Verständnisses)

Wenn du nach

if %userinp%=="3" goto verz3 
ein
GOTO ENDE
eingefügt hättest wärst du a) auf einer sichereren Seite mit deiner Programmausführung im Fehler/Bug-Fall B) selbst drauf gekommen, daß er dir dann garkein Verzeichnis erstellt weil deine Syntax in den 3 If-Clauses falsch ist Das Programm läuft nämlich in keine der IF-Bedingungen hinein und landet deshalb bei der folgenden Programmmarke (:verz1) weil die einfach ungeschützt danach kommt. Und die erstellt nunmal Verz1. Außerdem solltest du vor
set /p userinp="Bitte Auswahl eingeben (1/2/3):"
auch noch ein
set userinp=0

einfügen da sonst der Tastaturpuffer erhalten bleibt und beim nächsten Aufruf der Batch-Datei und einem einfachen <ENTER> bei der Abfrage einfach die vorhergehende Auswahl erneut genommen wird.

Nur so als Kommentar, weil mir eh grad langweilig war. :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...