如何使用 PowerShell 函数参数验证路径?
要在 PowerShell 函数参数内验证文件或文件夹路径,我们需要使用 ValidateScript 命令。通常,我们编写如下脚本来验证此路径。
function Validate-Path{
param(
[parameter(Mandatory)]
[String]$Path
)
if(Test-Path $Path) {Write-Output "Path is valid"}
else{Write-Output "Path is invalid"}
}输出
PS C:\> Validate-Path -Path C:\Temp Path is valid
我们可通过 validatescript 参数在函数参数内添加类似的功能,这样此脚本将最初在参数检查时引发错误。如下所示:
function Validate-Path{
param(
[parameter(Mandatory)]
[ValidateScript({
if(Test-Path $_){$true}
else{throw "Path $_ is not valid"}
})]
[String]$Path
)
Write-Output "Executing Script further"
}输出
有效路径
PS C:\> Validate-Path -Path C:\Temp Executing Script further
无效路径
PS C:\> Validate-Path -Path C:\Temp223 Validate-Path : Cannot validate argument on parameter 'Path'. Path C:\Temp223 is not valid At line:1 char:21 + Validate-Path -Path C:\Temp223 + ~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Validate-Path], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationError,Validate-Path
在上例中,如果路径有效,脚本将继续执行,而如果路径无效,它将引发异常且脚本将终止。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP