问题标签 [parameter-sets]
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.
powershell - 如何设置参数依赖
到目前为止,我或多或少地避免在我的 PowerShell 脚本中使用参数集,因为我发现它们非常冗长且难以实现复杂的依赖项。
StackOverflow 上有几个类似的问题和答案,但我可以找到适合我情况的可接受的解决方案或解决方法。实际的脚本更加复杂,但这是我卡住了:
参数规则:
- 至少应提供一个
Param#
(Param1
,Param2
或) 参数Param3
- 只能提供一个
Param#
(Param1
,Param2
或Param3
) 参数 - 开关 (
Switch1
和Switch2
) 是可选的,只能与Param1
orParam2
参数一起提供(一个或两个)
这意味着以下命令应该会产生错误:
并且应该接受以下命令:
问题在于以下命令:
它会产生一个意外错误:
我想这与@mklement0在如何更改参数的抛出消息中提到的这个 github 问题有关?.
但是如何使用参数集充分解决或解决此问题?
powershell - 执行脚本时Powershell“无法解析参数集”错误
我有一个带有相当长参数集的 powershell 脚本:
我已经根据我的需要测试了这些参数的功能,它工作正常,除了在一种特殊情况下:当我使用参数 SharedElement、OnlyListing 和 Reference 运行脚本时
我总是得到一个错误:
无法使用指定的命名参数解析参数集
但是,当我使用参数 SharedElement、OnlyListing 和 NoLog 运行脚本时,它可以正常工作:
几个月来我一直想知道问题可能是什么,但我一直无法找到解决方案。谁能指出帮助我解决问题的提示?
非常感谢您提前。问候。
powershell - 如果设置了参数集中的参数之一,则需要所有参数
我想让参数集中的所有参数都是强制性的,但前提是实际指定了其中一个参数(全部或无情况)。所以我希望能够将我的函数称为Test-Mandatory -Param1
or 或Test-Mandatory -Param1 -Param2 -Param3
. 因此,当我指定 Param2 时,我希望 Param3 是强制性的,反之亦然。
我原以为以下内容可以实现这一目标:
但是,当我使用上述方法时,我不能调用函数 as Test-Mandatory -Param1
,因为它会提示我为 param2/param3 提供一个值。我知道我可以添加另一个参数,将其添加到集合中,并使其成为非强制性的,这将使我能够使用开关在参数集之间切换,但我宁愿不这样做。还有另一种方法可以解决我忽略的问题吗?
powershell - Powershell 两个参数之一是必需的
我写了一个带有一些参数的powershell脚本,但我不知道如何获得类似的语法
脚本.ps1 [A|B] C [D]
script.ps1 [A|B] CEF
script.ps1 [A|B] CG
目标:
- A或B或两者都通过
- C 始终是强制性的
- 如果没有传递其他参数,则使用第一个参数集 -> D 不是强制性的
- 如果 E 被传递 F 是强制性的,反之亦然(第二个参数集)
- G 被传递(第三个参数集)
我的脚本看起来像这样
所以参数 C - G 看起来不错。但我不知道如何写 A 和 B 的条件。
你有什么主意吗?
powershell - 位置绑定和参数集
我正在努力理解参数集和位置绑定的行为。这是示例函数。
根据帮助输出,似乎用单个 int 调用函数应该使用 paramset1,用 2 int 调用它应该使用 paramset2,这是我所期望的。
但是,我收到以下输出。
我会期待以下。
如果我们将 param1 的类型更改为字符串,则函数按预期工作。
我对 PS 解释参数集的方式有什么误解?
最终我的问题是,如果第一个参数在集合之间的类型相同,为什么 PS 无法区分具有位置绑定和不同参数计数的 2 个参数集。
powershell - Powershell - 参数集
我有一个具有以下参数的函数:
我正在尝试完成以下操作:
当我调用 -SendMail 时,NO 参数是强制性的 当我调用 -UseRegions 时,-Region 是强制性的,其余的不是。当我不调用 -UseRegions 时,-Country 是强制性的,其余的则不是。
我一直在玩参数集,但我永远无法解决它。我也不想有一个名为-UseCountry 的额外参数,我想要-UseRegions 来控制-Region 和-Country。
有人有过类似的吗?
非常感谢提前!!!!
powershell - 管道参数与其他参数的特定组合时“无法解析参数集”
我编写了一个使用四个参数和四个参数集的函数。第一个参数$Path
未分配给集合,因此属于所有集合。它也是强制性的,并且是唯一可以从管道传递的参数。但是,当我在管道末尾调用函数时使用其他三个参数的某些组合(所有这些参数都属于四组的某种组合)执行此操作时,我收到一个错误,表明该组不明确。
这是我的功能:
所有可能的参数组合如下:
单独通过管道传递 $Path ,或与这些其他参数组合一起工作正常:
但是这两种组合会导致错误:
这些结果之间的最大区别似乎是$OutputToConsole
,这是两个集合中唯一可选的参数。似乎管道强制参数会导致它本身成为强制参数。另一方面,最令人困惑的结果涉及$OutputMode
,因为它的两个集合都使用完全强制参数的不同组合。Set B 在同时使用$Path
and时发生$OutputMode
,仅此而已。那么它是如何"C:\Test.jpg" | Foo-Bar -OutputMode 1
被认为是模棱两可的呢?
我将非常感谢任何可以为我阐明这一点的人。