hetrust Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Landaley Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 Wenn du nen Denkanstoss willst, dann starte deine Batch-Datei mal von der Konsole aus und sieh, was passiert... EDIT: Mist, zu langsam Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Vader Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hetrust Geschrieben 17. Januar 2006 Autor Teilen Geschrieben 17. Januar 2006 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 ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MES_K Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 kleine frage rein aus interesse: gabs bei batsch dateien nicht mal sowas wie errorlevel? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Carnie Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hetrust Geschrieben 17. Januar 2006 Autor Teilen Geschrieben 17. Januar 2006 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Landaley Geschrieben 17. Januar 2006 Teilen Geschrieben 17. Januar 2006 Lass bei deiner if-Bedingung die Anführungszeichen weg... if %userinp%==1 goto verz1 if %userinp%==2 goto verz2 if %userinp%==3 goto verz3 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HuDeanY Geschrieben 18. Januar 2006 Teilen Geschrieben 18. Januar 2006 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 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. :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.