Temel parametreyi ilk değerlendiren ve bilgisayarda bir program çalıştıran PowerShell'de bir sarıcı işlevi yazmaya çalışıyorum. Sarıcı işlevine kalan tüm parametreler daha sonra da çalıştırılan programa geçirilmelidir.PowerShell'de Sarmalayıcı işlevi: Kalan parametreleri geçir
Yani böyle bir şey görünmelidir:
function test ([string] $option)
{
if ($option -eq 'A')
{
Write-Host $args
}
elseif ($option -eq 'B')
{
. 'C:\Program Files\some\program.exe' $args
}
}
Şimdi sadece çalışmıyor $args
ekleyerek, bu yüzden ne o iş yapmak için ne yapmak gerekiyor? Başka bir seçenek muhtemelen Invoke-Expression
kullanıyor olabilir, ama eval
gibi bir şey hissediyor, bu yüzden eğer mümkünse kaçınmak istiyorum ve buna ek olarak, bunu sadece dize-sadece parametrelere sınırlayacağını düşünüyorum? Mümkünse sarılmış program/cmdlet'in tam desteğine sahip olmak isterim - temel olarak dinamik bir takma isim gibi. Bu mümkün mü?