3

这是一个示例,ValidateSet其中值是包含空格的字符串:

function Test-ValidateSet
{ 
    param ([ValidateSet("abc def", "ghi jkl")][String]$Val) 

    $Val 
}

IntelliSense 有效,但未引用完成的值。

有没有办法让完整的值被引用?

4

2 回答 2

3

它看起来像 PowerShell 中的错误。我在这里归档:https ://connect.microsoft.com/PowerShell/feedback/details/812233/auto-completed-values-with-spaces-do-not-have-quotes-around-them

于 2013-12-23T19:09:26.183 回答
0

你必须自己引用:

[ValidateSet("'abc def'", "'ghi jkl'")]

虽然如果在命令行中添加引号后进行智能感知,这看起来很愚蠢:

Test-ValidateSet -Val ''ghi jkl''

DynamicParam 也不适用于引用的值。

于 2014-01-09T01:08:13.770 回答