我不确定这是可能的,但我想尝试一下。
这是我要做的事情的基础:
function somefunction () {
$ListOfItems = (get-childitem c:\).name
param (
[validateset($ListOfItems)][string]$Moo
)
}
我不知道变量是否可以在validateset中使用。它看起来并非如此。如果可以的话,我该怎么做呢?
答案 0 :(得分:1)
这是可行的。你在ValidateScript
Function somefunction () {
param (
[ValidateScript({$_ -in (Get-Childitem C:\).Name})]
[string]$Moo
)
}
修改强>
ValidateScript
的默认错误不是用户友好的:
PS C:\> somefunction -Moo thing
somefunction:无法验证参数'Moo'的参数。 “$ _ -in(Get-Childitem C :)。名称“带有值的参数的验证脚本”的东西“没有返回True的结果。确定为什么 验证脚本失败,然后再次尝试该命令。
This StackOverflow post goes over how to generate custom error messages
答案 1 :(得分:0)
根据评论阅读评论并完成研究后,我相信没有简单的方法可以做我想做的事情。