Kann ich dir leider nicht sagen, da Batchscripting ein derartiges Graus ist, dass ich damit keine Zeit verschwende und mich stattdessen mächtigeren und syntaktisch klareren Scriptsprachen hingebe.
Aber wie oben schon geschrieben, würde ich die Pfade zu den beiden Mod-Ordnern fest im Script hinterlegen. Andere User können das Script ja dann für sich anpassen.
Denn meiner Meinung nach ist es völliger Schwachfug, die beiden Pfade bei jeder Ausführung eintippen zu müssen, da macht einem das Script ja eher mehr Arbeit als wenn man die Ordner händisch umbenennt.
Scripte sollen einem die Arbeit verringern, nicht für extra Arbeit sorgen.
Batch Hilfe gesucht
#16
geschrieben 19. April 2015 - 12:07
«Geschichte wiederholt sich nicht, aber sie reimt sich» (Mark Twain)
Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.
True Cloudstorage
Unix won't hold your hand. You wanna shoot your foot, Unix reliably delivers the shot.
True Cloudstorage
Anzeige
#17
geschrieben 19. April 2015 - 13:47
So langsam wird's Kauderwelsch.
Set /P Variable= tut, was es soll, auch ohne Anführungszeichen. Wenn die Variable dann aber BELEGT wurde, mußt Du sie konsistent als "%Variable%" verwenden, damit sie auch wirklich als EINE Zeichenfolge und nicht implizit als mehrere verstanden wird.
Ist so ein bißchen ein Bug, auch wenn man da unter Umständen auch davon profitieren kann.
Und schreib mal das CHECKFORFILE-Label neu. Sonst siehst Du da spätestens morgen gar nicht mehr durch.
Set /P Variable= tut, was es soll, auch ohne Anführungszeichen. Wenn die Variable dann aber BELEGT wurde, mußt Du sie konsistent als "%Variable%" verwenden, damit sie auch wirklich als EINE Zeichenfolge und nicht implizit als mehrere verstanden wird.
Ist so ein bißchen ein Bug, auch wenn man da unter Umständen auch davon profitieren kann.
Und schreib mal das CHECKFORFILE-Label neu. Sonst siehst Du da spätestens morgen gar nicht mehr durch.
:checkforfile if %c%==1 ( if exist %variable%\edainmodstarter.exe ( pause echo "Edain Mod 3 gefunden" echo "Weiter mit:" pause goto :varset ) ELSE ( ## Hier gilt c==1 immer noch, und IF NOT EXIST .... ist bloß das Gegenteil, also verwenden wir ELSE hier echo "Edain Mod 3 Ordner nicht gefunden" goto :varset ) ) if %c%==2 ( if exist %variable%\edain_mod_launcher.exe ( echo "Edain Mod 4 gefunden" echo "Weiter mit:" pause goto :varset ) ELSE ( # und hier war im Original schon ein logischer Fehler, den man in dem Haufen auch nicht so ohne Weiteres gefunden hätte echo "Edain Mod 4 Ordner nicht gefunden" goto :varset ) )
#18
geschrieben 19. April 2015 - 13:53
Aber das erklärt leider mein anfangsproblem nicht... Der hängt schon wenn ich den ersten Ordner mit Leerzeichen angeben will, interpret die Eingabe vom Pfad nach dem Leerzeichen als Befehl.
#19
geschrieben 19. April 2015 - 13:59
Grad noch mal überflogen: zumindest im GLOBAL-Label fehlen die Anführungsstriche für Edain3 und Edain4.
Außerdem benötigst Du keine Anführungsstriche um den Variablennamen für set /p. Einfach weglassen.
Außerdem benötigst Du keine Anführungsstriche um den Variablennamen für set /p. Einfach weglassen.
#20
geschrieben 19. April 2015 - 14:18
Oh danke 😊 gefunden
Mhhh mir ist gerade aufgefallen, dass er bei mir bei
Edit:
Schon ok... Bei mir gab es n Problem bei der choice Auswahl hat immer nur errorlevel 1 genommen da er oben stand. Bisher funktioniert der Code. Denke den Rest bekomme ich allein hin, sonst melde ich mich nochmal.
Aber vielen vielen Dank für die ganzen zahlreichen Antworten.
Auf frohes coden
Mhhh mir ist gerade aufgefallen, dass er bei mir bei
set /p Edain3=die Eingabe nicht in der Variable speichert. Dazu eine Idee?
Edit:
Schon ok... Bei mir gab es n Problem bei der choice Auswahl hat immer nur errorlevel 1 genommen da er oben stand. Bisher funktioniert der Code. Denke den Rest bekomme ich allein hin, sonst melde ich mich nochmal.
Aber vielen vielen Dank für die ganzen zahlreichen Antworten.
Auf frohes coden
Dieser Beitrag wurde von Klena bearbeitet: 19. April 2015 - 21:39