问题标签 [parameter-splatting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1090 浏览

powershell - 在 Powershell 中实现装饰器模式

我有我的自定义函数f,它运行一些东西然后调用一个预定义的函数Invoke-WebRequest

我想让f接受Invoke-WebRequest所做的所有参数,然后将这些参数传递给Invoke-WebRequest

有没有一种快速的方法来实现这一目标?(而不是在f中声明所有可能的参数)

0 投票
1 回答
403 浏览

powershell - 喷溅不适用于参数 -Filter

我有这么长的一行,我想让它更容易阅读:

我读到使用飞溅很好,所以我正在尝试:

但是运行它会引发错误:

我错过了什么?

0 投票
2 回答
2948 浏览

powershell - 如何将开关参数作为变量/通过 PowerShell 中的 splatting 传递?

如果您有多个参数在调用命令或脚本时需要一个值,我知道您可以像这样传递它:

但是,如果命令或脚本实际上只是希望-T指示标志之类的东西,但参数本身不需要值。如何在变量中设置它?

如果我这样做,它会抱怨以下消息:

0 投票
1 回答
320 浏览

powershell - 使用 PowerShell splatting 对属性进行排序

我正在使用Windows PowerShell 的 Active Directory 模块从 Active Directory 中导出某些值。如何以与列出的属性相同的顺序显示结果?当我运行此命令时,我会按字母顺序列出所有可用的属性。但我想要和期望的是只获取我在哈希表中列出的属性,其顺序与哈希表相同。

我错过了什么?

0 投票
2 回答
785 浏览

powershell - 在 PowerShell 中使用变量将多个参数传递给外部程序

我下载了用于合并 junit 报告的 npm 包 - https://www.npmjs.com/package/junit-merge

问题是我有多个文件要合并,我正在尝试使用字符串变量来保存要合并的文件名。

当我编写脚本 myslef 时,如下所示:

这有效,正在创建合并文件,但是当我这样做时

这不起作用。错误是

错误:找不到文件

有没有人遇到过类似的问题?

0 投票
1 回答
483 浏览

c# - 在 C# 中喷溅

在 PowerShell 中,您可以创建一个哈希表并使用 PowerShell 将此哈希表添加到您的函数@中。

可以将字典作为参数集合传递给构造函数或方法吗?

0 投票
3 回答
114 浏览

powershell - 以空格开头的飞溅变量

有没有办法继续使用以空格开头的名称并将其吐出?

所以这当然有效:

对我来说,它返回:

现在,如果我将变量名称更改为“Chrome 文件路径和版本”,我会得到:

该变量有效并返回属性:

但是试图把它吐出来,它认为我正在尝试创建一个哈希表,因为括号:

所以我的问题是,任何人都知道一种方法来喷出需要括号括起来的变量吗?我很清楚一个简单的

可以,但问题不在于解决方法,只要有办法用空格作为第一个字符来喷射变量。我已经尝试过转义字符、单引号/双引号、子表达式和管道以将名称放在适当的位置,但没有关于此的文档,我很确定它只是不受支持:/

另外,如果它很重要,我仍然在版本 5.1.19041.1

0 投票
2 回答
617 浏览

powershell - Powershell splatting 嵌套哈希表

我有一个函数,它返回一个复杂的嵌套哈希表数据结构,其中一部分构成进一步函数调用的参数,一部分是用于报告导致参数未填充的错误的字符串。理想情况下,我想只使用参数哈希表,但我开始认为这是不可能的。因此,基本问题的示例如下所示...

理想情况下,我想 splat $data.arguments,所以像这样...... Test @data.arguments 但这不起作用,导致错误

所以我尝试 Test @(data.arguments) 了...导致错误

我也试过...... Test @($data.arguments) 这导致整个哈希表作为单个参数传递,输出是

起作用的是……

这让我认为除了一个简单的变量(即适当的哈希表)之外,您真的不能吐出任何东西。但是,我希望有人可以验证这确实是真的,或者指出我还没有想出的解决方案。实际代码需要 5 个参数,名称有些冗长,因为我更喜欢描述性名称,因此喷溅是非常合适的解决方案。只需要使用要传递的哈希表来创建一个新变量不是问题,只是想知道它是否真的是唯一的选择。

0 投票
1 回答
94 浏览

powershell - Powershell Splatting 对象属性(Typeof System.Collections.Hashtable)

举个例子,让我更清楚我想做什么

这可以正常工作。

我想做的是传递存储在对象'CSObject'的属性'CommonArgs'中的splatted参数,如下所示:

0 投票
2 回答
173 浏览

arrays - 在 Powershell 中,为什么 foreach-object 循环不允许您从数组中检索单个值?

请注意以下输出。$Names 是一个包含两个值的数组。$Machinename 是一个包含两个值的数组。

它们在数组中的位置值是在 foreach 循环之外准确检索的。当在 foreach 循环中获取数组中第一个位置请求的值时,即 $Names[0] 忽略 [0] 的位置调用.....我需要能够自行检索该值.... . 最终我将需要对每个值进行交互以输入命令...

示例脚本: