tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
597
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lyxatros Tutorials.de Gastzugang
    Hallo,
    ich möchte ein kleines Batch Script schreiben und dort diverse Parameter übergeben, dies ist ja an und für sich kein Problem, wenn ich eine fixe Parameter Anzahl besitze, Bsp:

    Echo Name %1
    Echo Vorname %2

    Nun möchte ich aber, dass die Anzahl der Variablen flexibel ist.
    Am liebsten möchte ich, dass ich Variablennamen angeben kann, als Bsp:

    StartTest.bat -n Müller -v Juliane

    Dort möchte ich dann eben auf die Variablen -n -v zugreiffen...
    Ist dies möglich?

    Besten Dank,
    Lyxatros
     

  2. #2
    Lyxatros Tutorials.de Gastzugang
    Habe bereits einige Sekunden nach dem abschicken eine Lösung gefunden!
    Mann kann einfach per If-Abfrage und einem durchloopen per Shift Befehl den vorherigen Variablenwert abfragen. Ist also %1 z. B. -n, dann ist die nächste Variable (%2) mit grosser Wahrscheinlichkeit der dazugehörige Wert, problematisch wird es dann nur, wenn der nächste Paramter z. B. -v ist und nicht der gewünschte Wert.
    Werde versuchen dies so gut als möglich abzufragen und bei einer guten Lösung diese hier veröffentlichen.
    Wer eine gute Lösung kennt oder sogar eine einfacher, der soll sich bitte melden...

    Dank,
    Lyxatros
     

  3. #3
    lohokla lohokla ist offline Mitglied Gold
    Registriert seit
    May 2003
    Beiträge
    161
    Ich hab mal ein bisschen rumprobiert und bin jetzt zu den Ergebnis gekommen, dass du das ganze in der Form 'datei.bat v_Dieter n_Müller' eingeben kannst.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    @echo off
    if %1x==x goto:eof
    if not %1==cmdopen goto cmdopen
    if %1==cmdopen goto weiter
    goto:eof
     
    :cmdopen
    cmd /V:on /c %0 cmdopen %1 %2 %3 %4 %5 %6 %7 %8
    goto:eof
     
    :weiter
    for %%i in (%2 %3 %4 %5 %6 %7 %8 %9) do (
      set pruef=%%i
      set pruef=!pruef:~0,2!
      set string=%%i 
     
      if !pruef!==n_ set name=!string:n_=!
      if !pruef!==v_ set vorname=!string:v_=!
    )
      echo !vorname!
      echo !name!
    goto:eof
    Ist ein bisschen kompliziert geworden (weil mein Aufbau schlecht ist), also wenn du Fragen hast dann frag
     

Ähnliche Themen

  1. In Batch-datei Parameter übergeben
    Von Angelika_25 im Forum Sonstige Sprachen
    Antworten: 0
    Letzter Beitrag: 13.02.09, 10:07
  2. Antworten: 0
    Letzter Beitrag: 30.07.08, 15:44
  3. Batch-Datei mit Parameter aufrufen
    Von soyo im Forum Visual Basic 6.0
    Antworten: 12
    Letzter Beitrag: 25.01.08, 10:13
  4. Batch-Parameter übergeben mit ProcessBuilder
    Von roontafloor im Forum Java
    Antworten: 0
    Letzter Beitrag: 03.07.07, 15:20
  5. batch-datei inkl. parameter in html verlinken?
    Von misswebmistress im Forum Coders Talk
    Antworten: 4
    Letzter Beitrag: 29.09.04, 15:16