这是一个示例,ValidateSet
其中值是包含空格的字符串:
function Test-ValidateSet
{
param ([ValidateSet("abc def", "ghi jkl")][String]$Val)
$Val
}
IntelliSense 有效,但未引用完成的值。
有没有办法让完整的值被引用?
这是一个示例,ValidateSet
其中值是包含空格的字符串:
function Test-ValidateSet
{
param ([ValidateSet("abc def", "ghi jkl")][String]$Val)
$Val
}
IntelliSense 有效,但未引用完成的值。
有没有办法让完整的值被引用?
它看起来像 PowerShell 中的错误。我在这里归档:https ://connect.microsoft.com/PowerShell/feedback/details/812233/auto-completed-values-with-spaces-do-not-have-quotes-around-them
你必须自己引用:
[ValidateSet("'abc def'", "'ghi jkl'")]
虽然如果在命令行中添加引号后进行智能感知,这看起来很愚蠢:
Test-ValidateSet -Val ''ghi jkl''
DynamicParam 也不适用于引用的值。