Jump to content

Read-host eingabe mit Inhalt eines Array vergleichen ...


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo,

 

wo ist der Wald ich steh vor nem Baum  ^^

Ich habe eine Text Datei mit eine Aufzählung von Kst im Powershell ein gelesen.

 

Nun möchte ich diese mit dem Wert von read-host abgleichen um eine Auswertung dieser Kst zu starten.

 

 

$sikst = @(Get-Content .\KST.txt)
$kst = Read-Host "Bitte Kostenstelle der XXX eingeben"

$sikst[3] (bis dahin funktioniert es ^^)

 

Allerdings steh ich grad auf dem Schlauch wie ich die Auswertung anfange .

 

 if ($kst in $sikst[]) {
 "die Kostenstelle wird ausgewertet"
    
 } else {
 "Kostenstelle nicht vorhanden"
 }

 

War erfolglos ^^

 

Muss dazu sagen das ich erst seit ca. 1 Woche mit PS rum experementiere ^^

 

Gruß

Uwe

bearbeitet von Shinson
Geschrieben

$sikst = @(Get-Content .\KST.txt)


$kst = Read-Host "Bitte Kostenstelle der XXXX eingeben"

foreach ($kst in $sikst)
{
    if ($kst -contains $sikst) {"Kostenstelle wird ausgewertet"}
    else
    {
    ("Falsche Eingabe")
    }
}

Erläuft immer direkt in den else Abschnitt.

Die Seite hate ich schon mal, wie gesagt irgendwie seh ich den Wald vor Bäumen nicht.

Wahrscheinlich liegt der Fehler im Foreach Bereich weiss aber grad nicht was :-(

Geschrieben

Dein $kst ist doppelt. Außerdem machst du mit contains und foreach die Abfrage doppelt.

Entweder mit foreach durch das Array und jedes Array Item vergleichen ODER mit contains das ganze Array abfragen.

 

Bsp:

 

$a = 5$b = 1,2,3,4,5,6 # Variante 1 (Contains): if($b -contains $a){   "Ok"}else{   "Wert fehlt"} # Variante 2 (foreach): $found = $falseforeach($i in $b){   if($i -eq $a){      $found = $true   }}if($found){   "Ok"}else{   "Wert fehlt"} 

Geschrieben (bearbeitet)

Oh mein Gott ^^

Jetzt fällt es wie Schuppen von den Haaren ääh Augen.

 

Logisch

Hab vielen dank :-)

 

PS. gibt es die Möglichkeit nach der Falsch eingabe wieder zum anfang zurück zukehren um die Eingabe zu wiederholen ?

bearbeitet von Shinson
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...