我想在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
,所以我想盡量避免,另外我認爲這樣做會限制我僅使用字符串參數嗎?如果可能的話,我希望對包裝的程序/ cmdlet有完整的支持 - 基本上就像一個動態別名。這甚至有可能嗎?