Я пытаюсь написать в 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
, поэтому я хочу избегать, если это возможно, и, кроме того, я думаю, что если я сделаю это так, я ограничусь параметрами только для строки, верно? Если возможно, я бы хотел иметь полную поддержку упакованной программы / командлета - в основном, как динамический псевдоним. Это вообще возможно?