Функция оболочки в PowerShell: передача оставшихся параметров

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

8
задан poke 14 September 2011 в 15:31
поделиться