我正在使用自定義用戶輸入驗證方法,但我正在努力使其正常工作。
這裏是腳本的基本思路:
$answer = Read-Host "Are you sure you wish to continue? [Y]es or [N]o"
while (!$answer -AND $answer -ine "y" -AND $answer -ine "yes" -AND $answer -ine "n" -AND $answer -ine "no") {
$answer = Read-Host "You hand entered an invalid response.`nPlease enter [Y]es or [N]o"
}
if ($answer -ieq "yes" -OR $answer -ieq "y") {
do action
}
else {
don't do action
}
我現在面臨的問題是,與上面的驗證,只有當字符串爲空/空確認。無論我輸入什麼答案,其他4個標準似乎都不重要,腳本將退出WHILE循環並繼續執行IF-ELSE語句。
例子:
如果我輸入「是」,「是」,「是」,「Y」,「Y」或其他任何類似的變化這一點,應用程序將跳過/退出while語句和繼續進行IF聲明,按預期執行所需的操作。如果我不輸入任何內容(將字符串留空/空),它將按預期保留在While循環中。但是,任何其他輸入都會導致應用程序跳過/退出WHILE語句並繼續執行ELSE語句,這不是我想要的。
我曾嘗試過使用-eq,-ieq,-ceq,-like,-ilike,-ne,-ine,-notlike和-inlike like 我甚至一直在玩-AND和-OR運營商希望我可能搞砸了這個設置。 不幸的是,所有人都給了我相同的結果。
非常感謝您提供任何建議,您可以提供。
順便說一句:我在這裏找不到任何東西,接近我正在嘗試做的事情,並且我研究了大部分官方網站以瞭解操作員的工作方式。到目前爲止,所有的邏輯都表示它應該可以工作,但是當我運行它時會失敗。
哦。我沒有意識到這會導致問題。非常感謝你的幫助。 – Brandon