Как создать параметры функции, которые не требуют ввода Powershell - PullRequest
0 голосов
/ 21 января 2020

Я писал простую функцию для проверки чего-либо и хотел знать, возможно ли создать параметры, которые не требуют аргументов, но могут быть указаны для выполнения определенного действия. Я искал, но не вижу никого, кто использует это. Как, например, параметр -Recurse в get-childitem. Он не требует аргументов, но при его указании всегда подразумевается рекурсивный поиск. Есть ли способ сделать это в функции? Я попытался [AllowNull ()], [AllowEmptyString ()] с параметром, но когда я проверяю его, я получаю сообщение об ошибке без аргумента.

1 Ответ

3 голосов
/ 21 января 2020

Вы ищете SwitchParameter!

Для этого есть отличный ускоритель типа [switch], так что вы можете реализовать свой собственный такой параметр, как этот:

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

  if($MySwitch.IsPresent){
    Write-Host "MySwitch was specified!"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...