【问题标题】:How to Create Function Parameters that do not require input Powershell如何创建不需要输入 Powershell 的函数参数
【发布时间】:2020-01-20 23:01:41
【问题描述】:

我正在编写一个简单的函数来测试某些东西,并想知道是否可以创建一个不需要参数但可以指定运行特定操作的参数。我搜索但没有看到有人使用它。例如 get-childitem 中的 -Recurse 参数。它不需要参数,但是当您指定它时,它总是意味着递归搜索。有没有办法在函数中做到这一点?我已经尝试使用参数 [AllowNull()], [AllowEmptyString()] 但是当我测试它时,我得到一个没有参数的错误。

【问题讨论】:

  • -Recurse 参数是switch parameter。它们默认为$False,当您使用开关时变为$True。您可以在函数内部对其进行测试并对结果采取行动。 [咧嘴]

标签: powershell parameters


【解决方案1】:

您正在寻找SwitchParameter

它有一个漂亮的[switch] 类型加速器,因此您可以像这样实现自己的此类参数:

function Test-SwitchParam
{
  param(
    [switch]$MySwitch
  )

  if($MySwitch.IsPresent){
    Write-Host "MySwitch was specified!"
  }
}

【讨论】:

  • 很酷,谢谢,我看过但从未使用过,所以我忽略了它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-21
  • 2019-03-04
相关资源
最近更新 更多