PowerShell验证Read-Host的输入


从PowerShell 4.0开始,可以在给变量赋值时进行值验证。这样也可以让你快速简单地验证用户输入。下面的一行可接受用户的输入必须匹配前面的正则表达式。比如以server开头,并且紧跟1-4位数字。

[ValidatePattern('^server\d{1,4}$')]$Server = Read-Host "Enter a servername (serverXXXX)" 

当用户敲了一个错误的输入,会引发一个异常。然后你可以这样捕获这个异常:

do
{
    try {
    [ValidatePattern('^server\d{1,4}$')]$Server = Read-Host "Enter a servername (serverXXXX)" 
    } catch {}
} until ($?)

上面的脚本会重复请求用户输入,直到变量的验证通过。

原文链接:Validate Read-Host Input

本文链接: https://www.pstips.net/validate-read-host-input.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注