2 Stimmen

Erstellen Sie ein Menü in Powershell mit Elementen in einem Array unbekannter Größe als Optionen

Ich möchte ein Befehlszeilenmenü in PowerShell erstellen, wobei die Optionen aus einem Array unbekannter Größe stammen.

Früher habe ich eine Switch-Anweisung verwendet, aber damals wusste ich, wie viele Optionen es geben würde. Jetzt werden die Optionen aus einer XML-Datei geparst und ändern sich ständig, daher funktioniert der alte Weg nicht mehr.

So sah der alte Weg aus:

switch ($a) 
{ 
    1 {
       Write-Host $USR_ID  "auf SERVER "$SERVER_NAME"`n"
       $query = $USR_ID
      } 
    2 {
       Write-Host $PRFL_NM  "auf SERVER "$SERVER_NAME"`n"
       $query = $PRFL_NM
      } 
    3 {
        Write-Host $APP_NM  "auf SERVER "$SERVER_NAME"`n"
        $query = $APP_NM
      }
    4{
        Write-Host $COMBO "auf SERVER " $SERVER_NAME"`n"
        $query = $COMBO
        bestätigen
     }
    default {
      "** Ungültige Eingabe **";
      exit
      }
}

Hat jemand irgendwelche Ideen?

Danke!

2voto

Joey Punkte 329386

Erstellen Sie ein Array, das Objekte enthält, die die jeweiligen Informationen enthalten, die Sie benötigen, und greifen Sie anstelle der Verwendung des switch auf das Array zu.

Ich habe keine Ahnung, wie Ihr XML aussieht und was Ihre verschiedenen Variablen sind, daher ist es schwer, eine genauere Antwort zu geben.

0 Stimmen

Es ist ziemlich einfach, es sind nur verschiedene SQL-Abfragen. Das Skript lässt den Benutzer auswählen, welche Abfrage ausgeführt werden soll, basierend auf dem, was im XML steht. So können verschiedene Benutzer das gleiche Skript haben, und anstatt Variablen darin ändern und Dinge fest codieren zu müssen, können sie einfach einen Eintrag zum XML hinzufügen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X