WinFuture-Forum.de: Batch Hilfe gesucht - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Batch Hilfe gesucht

#16 Mitglied ist offline   Sturmovik 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.776
  • Beigetreten: 10. Januar 08
  • Reputation: 445
  • Geschlecht:unbekannt
  • Wohnort:In Reichweite der Kaffeemaschine
  • Interessen:IT, Luftfahrt, historische Technik

geschrieben 19. April 2015 - 12:07

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.
«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
0

Anzeige



#17 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 19. April 2015 - 13:47

So langsam wird's Kauderwelsch. :huh:

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


"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#18 Mitglied ist offline   Klena 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 16. April 15
  • Reputation: 0
  • Geschlecht:Weiblich

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.
0

#19 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

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.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#20 Mitglied ist offline   Klena 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 16. April 15
  • Reputation: 0
  • Geschlecht:Weiblich

geschrieben 19. April 2015 - 14:18

Oh danke 😊 gefunden

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

0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0