none
Variablen zusammenfügen bzw. hochzählen RRS feed

  • Frage

  • Hallo zusammen,

    ich habe eine wahrscheinlich relativ einfach zu beantwortene Frage:

    Ich lese mit meinem Script eine CSV Datei aus, in der bis zu vier Mailadressen stehen können und speicher sie in den Variablen Mail1, Mail2, Mail3, Mail4. 

    Ich möchte nun eine Schleife bauen, welche die einzelnen Variablen durch geht und prüft ob sie gefüllt sind, alle Variablen, die eine Mailadresse enthalten, sollen dann in einem Array gespeichert werden. (Dieses Array benutze ich später um Mails zu verschicken)

    Wie kann ich in der Schleife den Variablennamen "hochzählen" bzw meine Variablen mit meiner Zählervariable $i verknüpfen? Ich hatte an "$Mail+$i" gedacht. Leider funktioniert es so nicht und ich bin auch online auf keine zufriendenstellende Lösung gestoßen.

    Habt ihr eine Idee?

    Danke schonmal im vorraus!

    VG

    Timo

    Mittwoch, 19. Juli 2017 12:59

Antworten

  • So kompliziert würde ich es gar nicht machen, da nicht das Zählen die Aufgabe ist.
    Als Ergebnis sollen nur die gültigen Adressen übergeben werden, also fülle ein Array mit den Feldern aus dem CSV.
    Erstelle ein leeres Array.
    Gehe in einer Schleife durch das erste Array, prüfe den Wert und wenn er OK ist, gib ihn ins 2. Array.

    Wo ist das Problem? Die 4 Mail-Variablen entfallen dabei.

    $Array.count oder .length gibt dann die Anzahl.


    Mittwoch, 19. Juli 2017 14:47

Alle Antworten

  • nicht getestet, aber probier einmal

     
    $zaehler +=1
    $mail+$zaehler.ToString()


    Chris

    Mittwoch, 19. Juli 2017 13:46
  • Hallo,

    so was in der Richtung:

    $Mail1 = 'aaa'
    $Mail2 = 'bbb'
    $Mail3 = 'ccc'
    $Mail4 = 'ddd'
    
    $i = 1
    do {
     if (Get-Variable "Mail$i" -ErrorAction SilentlyContinue) {
      (Get-Variable "Mail$i").Value
     }
     $i++
    } until ($i -gt 4)

    Beste Gruesse
    brima

    Mittwoch, 19. Juli 2017 14:36
  • So kompliziert würde ich es gar nicht machen, da nicht das Zählen die Aufgabe ist.
    Als Ergebnis sollen nur die gültigen Adressen übergeben werden, also fülle ein Array mit den Feldern aus dem CSV.
    Erstelle ein leeres Array.
    Gehe in einer Schleife durch das erste Array, prüfe den Wert und wenn er OK ist, gib ihn ins 2. Array.

    Wo ist das Problem? Die 4 Mail-Variablen entfallen dabei.

    $Array.count oder .length gibt dann die Anzahl.


    Mittwoch, 19. Juli 2017 14:47