gpt4 book ai didi

validation - 通过 ValidateScript 属性将默认参数值与验证相结合

转载 作者:行者123 更新时间:2023-12-01 03:24:36 27 4
gpt4 key购买 nike

我有以下 PowerShell 代码来验证用户输入作为路径,如果用户没有输入任何内容,我试图为他们分配一个默认值。但是,当我运行它时,$filePath变量未分配任何值。

无论如何,我可以更改它以在验证进行时为其分配默认值吗?

以下代码:

function validatePath {
Param
(
[ValidateScript({
If ($_ -eq "" -or $_ -eq [String]::Empty) {
$_ = "C:\Install"
$True
}
ElseIf ($_ -match "^([a-z]:\\(?:[-\\w\\.\\d])*)") {
$True
}
Else {
Write-Host "Please enter a valid path,$_ is not a valid path."
Write-debug $_.Exception
}
})]
[string]$filePath = "C:\Install"
)
Process
{
Write-Host "The path is "$filePath
}
}

validatePath -filePath $args[0]

最佳答案

我认为您可以删除验证脚本,而是在 Begin 块中执行此操作:

Begin{
If ($filepath -eq "") {
$filepath = "C:\Install"
}
ElseIf ($filepath -notmatch "^([a-z]:\\(?:[-\\w\\.\\d])*)") {
Write-Error "Please enter a valid path,$filepath is not a valid path."
}
}
Process{

关于validation - 通过 ValidateScript 属性将默认参数值与验证相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42518130/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com