У меня есть этот script, который можно вызвать двумя способами:
MyScript -foo path\to\folder
или
MyScript -bar path\to\folder
(То есть, я могу либо передать переключатель плюс папку, либо строковый аргумент плюс папку.)
Я попытался поместить объявления параметров в свой script, чтобы отразить этот синтаксис:
param(
[parameter(Mandatory=$false)] [switch]$foo,
[parameter(Mandatory=$false)] [String]$bar,
[parameter(Mandatory=$true)] [System.IO.FileInfo]$path
)
Но тогда я должен явно передать path
, чтобы вызвать script:
MyScript -l -path path\to\folder
Итак (как) я могу сделать это, создавая как позиционные параметры bar
, так и path
?
Примечание. Если я выбрал необычайно глупый синтаксис для вызова script, я все равно могу его изменить.