我想在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有完整的支持 - 基本上就像一个动态别名。这甚至有可能吗?