2016-05-12 110 views
2

我想对PowerShell中的用户输入进行一些基本验证,以确保用户只能输入整数,而不输入-7。我不确定这是如何完成的,并希望得到一个指针。如何确保一个函数只接受一个正整数?

[parameter(Mandatory=$false)][int]$number 

如果用户输入-$number这将被接受。我希望它拒绝这种类型的输入。

回答

4

可以使用ValidateRange为参数:

[parameter(Mandatory=$false)] 
[ValidateRange(1, [int]::MaxValue)] 
[int] $number 

documentation

ValidateRange验证属性

的ValidateRange属性指定数值范围的每个 参数或变量值。如果任何值超出该范围,Windows PowerShell将生成一个错误 。在以下示例中,将 的尝试参数的值必须是10

在以下例子中为0至

Param 
(
    [parameter(Mandatory=$true)] 
    [ValidateRange(0,10)] 
    [Int] 
    $Attempts 
) 
,变量$数的值必须是 10之间0和

[Int32][ValidateRange(0,10)]$number = 5 
相关问题