私は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
のように感じるので、私は可能な限り避けたいと思います。さらに、そうすることで、文字列のみのパラメータに制限されると思います。可能であれば、ラップされたプログラム/コマンドレット(基本的には動的エイリアスのようなもの)を完全にサポートしたいと考えています。それも可能ですか?