Ich versuche, ein Menü mit einer while
Schleife zu erstellen. Ich möchte, dass das Menü ausgeführt wird, bis der Benutzer "n" oder "N" drückt.While-Schleife beendet nicht, wenn Benutzer "n" drückt
$MenuChoice
while ($MenuChoice -ne "n" -or $MenuChoice -ne "N") {
Write-Host "Run again? y/n "
Read-Host $MenuChoice
}
Das Problem ist, dass, es läuft, ob I "N" oder "Y" drücken.
Muss ich einen Wert für $MenuChoice
deklarieren?
Danke, was macht der $ null? Es sagt Powershell, dass es noch keinen Wert hat? –
@TonyAntony initialisiert die Variable, so dass sie existiert. Versuchen Sie 'Get-Variable TestVar', es wird ein Fehler zurückgegeben. Dann tue '$ TestVar = $ null' und versuche es erneut. Du wirst den Unterschied sehen. – briantist
@TonyAntony eine Alternative wäre 'Remove-Variable MenuChoice'. Es stellt sicher, dass in der Variablen kein Wert vorhanden ist, der die Schleifenaustrittsbedingung vorzeitig auslösen könnte. Sie können dies vermeiden, indem Sie die von briantist vorgeschlagene do-Schleife verwenden. –