Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

Bitte Auswahl eingeben (1/2):1

"="1"" ist syntaktisch an dieser Stelle nicht verarbeitbar.

D:\>

probiers mal so (mit c-style gleichheitsabfrage):

if %userinp%=="1" goto verz1

if %userinp%=="2" goto verz2

s'Amstel

Wenn du nen Denkanstoss willst, dann starte deine Batch-Datei mal von der Konsole aus und sieh, was passiert...

EDIT: Mist, zu langsam ;)

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

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 ?

kleine frage rein aus interesse: gabs bei batsch dateien nicht mal sowas wie errorlevel?

Mhh also ich als Programmierer bekomm eher nen Krampf bei den ganzen Goto Befehlen.

Müssen die in der Batchprogrammierung sein.Kann ich mir irgendwie nicht vorstellen aber hab halt null Ahnung von dem Thema.

Also wenn ich die GOTO Befehle rausnehme, erstellt er mir immer aller 3 aufeinmal, egalm was ich wähle.

MIT den GOTO Befeheln erstellt er mir eben immer blos ein und die Selbe. die 1. :cool:

cu

Lass bei deiner if-Bedingung die Anführungszeichen weg...

if %userinp%==1 goto verz1

if %userinp%==2 goto verz2 

if %userinp%==3 goto verz3 

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. :-)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.