问题标签 [switch-parameter]

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 投票
1 回答
182 浏览

powershell - 使用 SWITCH 参数进行递归调用的最佳方法是什么?

在下面的示例中,我有一个IF语句来确定Demo递归调用时发送到哪些参数。如果$y是一个布尔值而不是一个开关,我可以简单地调用Demo -x $x -y $y;但作为一个开关,这不是一个可行的选择。

问题

以上是处理这种情况的正确方法,还是存在更清洁的选项?

0 投票
1 回答
116 浏览

powershell - 我可以有一个 PSH 函数参数,如果未指定,则为 $false,指定时为 $true(或默认值),或者如果给定该值,则为另一个值?

我不确定这是否存在或不可能,或者最好只使用两个参数来实现,我不确定使用通用上下文或更具体的示例是否会更清楚,所以我'已经提供了两个:

更通用

我有一种情况,我更喜欢 PowerShell 函数的三种不同行为之一,基于参数。它的行为有点像一个开关参数,$false如果没有提供,则具有一个值 ( ),如果提供,则具有不同的值 ( $true)。如果提供了一个值 (a [string]),第三个选项将做出更具体的行为,这将使它更像一个完整的参数。

更详细

具体来说,我正在考虑这样一种情况,即可以返回的对象可能有多种独特的方式,以及多种过滤和组合它们的方式。我想将这三种类型的行为组合到“Get-Stuff”Cmdlet 的过滤类型参数中,我想将其称为“唯一”。

  • 如果未提供(例如Get-Stuff),则不会为输出对象提供“唯一”类型的过滤 - 所有对象都将返回/通过管道传输到输出。
  • 如果要提供参数,但没有值(例如Get-Stuff -unique),我希望参数的默认值指定属性的名称,也许Name,其中每个返回的结果都将确保具有唯一的名称,(也许是第一个找到的,或者不确定的)
  • 如果为参数提供了一个例如组合)。每个返回/管道对象将具有命名属性的唯一(组合)值Get-Stuff -unique "Context","ID"

无论此信息的具体用途如何...

抛开实际功能不谈,有没有办法以这种方式将信息传递给 Cmdlet?我想我可以组合一个参数和一个开关(也许-unique-indexFields),或者让一个参数覆盖一个开关等,但是是否可以只使用一个参数而不是两个?

0 投票
1 回答
716 浏览

c# - Powershell C# commandlet 条件开关参数

仅当提供其他参数时,我才需要应用条件开关参数。任何机构都可以让我知道如何在 C# 中实现这一点

我希望在 powershell 终端上可以访问以下方式命令。

编辑

以下是 C# commandlet 代码。

0 投票
2 回答
2948 浏览

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

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

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

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

0 投票
2 回答
302 浏览

powershell - PowerShell 开关参数未按预期工作

我有以下 PowerShell 函数来帮助我进行基准测试。这个想法是您提供命令和一个数字,该函数将运行代码该次数。之后,该功能将报告测试结果,例如最小、最大和平均所用时间。

问题出在switch参数$ShowOutput上。据我了解,当您提供 switch 参数时,其值为 true。否则是假的。但是,它似乎不起作用。看我的测试。

谁能帮忙解释一下吗?

0 投票
2 回答
273 浏览

powershell - 如何将开关参数从一个powershell脚本传递到另一个?

我有两个 PowerShell 脚本,并在带有 PowerShell Core 的 Linux 上使用它们,并希望将 switch 参数从one.ps1to 传递给second.ps1,但是$args填充为一个字符串,其中包含TrueFalse子字符串,它不被 接受second.ps1,因为它有验证在参数块中。

我该如何更改才能使其正常工作?我知道我可以手动枚举所有的参数second.ps1并组成一个命令参数字符串,但是考虑到其中的参数太多second.ps1,有没有更好的方法?

我的脚本如下所示:

第二个.ps1

这是使用它们的命令

错误信息: