Powershell Menü mit While und Switch Schleife mehrere richtigen Eingaben zulassen jedoch falsche Eingaben verhindern
Hallo Admins
Habe ein kleines Problemchen mit Powershell...
In meinem Script möchte ich mit Switch-Menü falsche Eingaben verhindern... aber mehrere (Menü 1, 2 und 3) sollten zugelassen werden...
Mein Code:
#echo menu
...
While (($auswahl = Read-Host "Drücken Sie die Nummer (1-4), um den gewünschten Menüpunkt auszuwählen") -ne "1","2","3"){
switch ($auswahl) {
"1" {Write-Host "Menü 1 wurde ausgewählt." -f yellow}
"2" {Write-Host "Menü 2 wurde ausgewählt" -f yellow}
"3" {Write-Host "Menü 3 wurde ausgewählt" -f yellow}
"4" {exit }
default {"Ungültige Eingabe"}
}
}
if ($auswahl -eq 1) {
echo "hallo 1"
}
elseif ($auswahl -eq 2) {
echo "hallo 2"
}
else {
echo "hallo 3"
}
...
Menü 1, 2 und 3 sollten die While-Schlaufe verlassen ... ich vermute mal schwer, dass --> | -ne "1","2","3" | ... hier etwas nicht stimmt, jedoch wurde ich im Internet auch nicht schlauer (oder habe es nicht verstanden)...
Könnt ihr mir vielleicht kurz helfen? Ein Link mit einfacher Beschreibung reicht mir auch schon... habs mit den Schlaufen noch nicht so im Griff... Danke für euer Verständnis!
Gruss
windelterrorist
Habe ein kleines Problemchen mit Powershell...
In meinem Script möchte ich mit Switch-Menü falsche Eingaben verhindern... aber mehrere (Menü 1, 2 und 3) sollten zugelassen werden...
Mein Code:
#echo menu
...
While (($auswahl = Read-Host "Drücken Sie die Nummer (1-4), um den gewünschten Menüpunkt auszuwählen") -ne "1","2","3"){
switch ($auswahl) {
"1" {Write-Host "Menü 1 wurde ausgewählt." -f yellow}
"2" {Write-Host "Menü 2 wurde ausgewählt" -f yellow}
"3" {Write-Host "Menü 3 wurde ausgewählt" -f yellow}
"4" {exit }
default {"Ungültige Eingabe"}
}
}
if ($auswahl -eq 1) {
echo "hallo 1"
}
elseif ($auswahl -eq 2) {
echo "hallo 2"
}
else {
echo "hallo 3"
}
...
Menü 1, 2 und 3 sollten die While-Schlaufe verlassen ... ich vermute mal schwer, dass --> | -ne "1","2","3" | ... hier etwas nicht stimmt, jedoch wurde ich im Internet auch nicht schlauer (oder habe es nicht verstanden)...
Könnt ihr mir vielleicht kurz helfen? Ein Link mit einfacher Beschreibung reicht mir auch schon... habs mit den Schlaufen noch nicht so im Griff... Danke für euer Verständnis!
Gruss
windelterrorist
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 291460
Url: https://administrator.de/forum/powershell-menue-mit-while-und-switch-schleife-mehrere-richtigen-eingaben-zulassen-jedoch-falsche-eingaben-291460.html
Ausgedruckt am: 23.12.2024 um 19:12 Uhr
4 Kommentare
Neuester Kommentar
Menü 1, 2 und 3 sollten die While-Schlaufe verlassen
while(($auswahl = Read-Host "Auswahl") -notmatch '^[1-3]$'){
#....
}
while(($auswahl = Read-Host "Auswahl") -notin @(1,2,3)){
#....
}
Hier steht alles was du zu den Vergleichsoperatoren wissen musst, hatte ich dir aber schon mal gepostet.
about_Comparison_Operators
Gruß und frohes Fest
jodel32
p.s. "Schlaufen" macht man um Geschenke aber nicht um Code
$auswahl = $null
while($auswahl -notmatch '^[1-3]$'){
$auswahl = Read-Host "Auswahl"
switch -Regex ($auswahl){
"^[1-3]$" {write-host "Menü $auswahl gewählt"}
default {write-host "Ungültige Eingabe"}
}
}