验证文件路径参数

时间:2015-11-13 07:34:06

标签: powershell

param ([ValidateScript({ Test-Path -Path $_ -PathType Leaf })][string]$filePath)

如果我声明这样的参数,如果它是无效路径,$filePath会评估为假吗?

重点是

if($filePath) { /* do stuff... */ }

或者会抛出异常吗?

1 个答案:

答案 0 :(得分:14)

如果您的函数需要有效路径,则应使用ValidateScript属性。如果用户提供无效路径,PowerShell将为您抛出错误。您可能还想添加[Parameter(Mandatory=$true)],否则您可以省略$filePath参数,该函数将被无异常调用。

以下是一个例子:

function This-IsYourFunction 
{
    Param
    (
        [Parameter(Mandatory=$true)]
        [ValidateScript({Test-Path $_})]
        [string]
        $filePath
    )

    Write-Host "Hello, World."
}