入力量を制限するにはどうすればよいですか?
$M = Read-Host -Prompt 'Input your MM'
$D = Read-Host -Prompt 'Input the DD'
$Y = Read-Host -Prompt 'Input your YYYY'
入力できる文字数を制限します。2 または 4 です。MM は 2 文字のみです。数字のみです。YYYY は 4 文字のみです。数字のみです。
たとえば、誰かが 2 桁を超える数字を入力すると、残りのコマンドが壊れます。PowerShell でこれを制限する方法がわかりません。
答え1
以下のスクリプトを使用すると、入力全体を1ステップで検証できます。これを次のように変更しました。TechNet の回答。
While(1){
Try{
$UserDate = [DateTime](Read-Host 'Enter date (MM/DD/YYYY)')
Break
}
Catch{
Write-Host 'Not a valid date. Enter MM/DD/YYYY' -ForegroundColor Red
}
}
$UserMonth = $UserDate.ToString('MM')
$UserDay = $UserDate.ToString('dd')
$UserYear = $UserDate.ToString('yyyy')