入力量を制限するにはどうすればよいですか? Powershell

入力量を制限するにはどうすればよいですか? Powershell

入力量を制限するにはどうすればよいですか?

$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')

関連情報