Я пытаюсь написать функцию оболочки в PowerShell, которая в основном оценивает первый параметр и на его основе запускает программу на компьютере. Все остальные параметры функции-оболочки должны быть затем переданы запускаемой программе.
Это должно выглядеть примерно так:
function test ( [string] $option )
{
if ( $option -eq 'A' )
{
Write-Host $args
}
elseif ( $option -eq 'B' )
{
. 'C:\Program Files\some\program.exe' $args
}
}
Теперь просто добавление $ args
не работает, так что мне нужно сделать, чтобы это работало? Другой вариант, вероятно, будет использовать Invoke-Expression
, но он немного похож на eval
, поэтому я хочу избегать, если это возможно, и, кроме того, я думаю, что это ограничит меня параметры только строки, верно? Если возможно, я хотел бы иметь полную поддержку обернутой программы / командлета - в основном как динамический псевдоним. Это вообще возможно?