PowerShell splatting是否支持内联哈希表?

时间:2016-09-09 23:17:31

标签: powershell

我想使用splatting语法,但我想内联

所以而不是:

$p = @{Path = '.'}
ls @p

我想做

ls @@{Path = '.'}

但这是语法错误。 反正是否需要splat一个哈希表而不必写一个单独的变量?

为什么我要这样做?我更喜欢哈希表语法来定义很多参数(比如4或更多)。但我宁愿不定义变量,我只想让我在哈希表定义的“顶部”调用cmdlet。

2 个答案:

答案 0 :(得分:2)

splat运算符将查找名称与splat符号后面的字符匹配的变量,它不会尝试将符号后的字符解析为获取值的语句。你不能内联。链接到TechNet

答案 1 :(得分:0)

正如Francois所说,这还不可能,但是,在GitHub上的PowerShell RFC存储库中添加扩展的splatting功能(特别包括这个功能)有一些讨论: