在Powershell的新别名中传递参数,就像你在Bash中一样

时间:2016-01-04 02:30:44

标签: powershell

我想在Powershell中创建一个新别名,但要执行以下操作:

new-alias -name dog -value "C:\Path\To\Dog.exe -flag1 -flag2 arg3"

给我一​​个关于" C:\ Path \ To \ Dog.exe -flag1 -flag2 arg3"的错误不是有效的cmd。我也尝试了以下内容:

new-alias -name dog -value "C:\Path\To\Dog.exe" -flag1 -flag2 arg3

但这导致PS抱怨" -flag1"不是new-alias命令的有效选项。 如何在别名中传递参数,就像我在* nix-land中所做的那样?

2 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是创建一个函数,该函数接受您的应用所需的所有参数,然后将其作为别名。

function Get-Ipconfig
{
    param
    ($Parameter1 = 'all')

    ipconfig.exe "`/$parameter1"

}


Get-Ipconfig

New-Alias -Name gip -Value Get-Ipconfig

答案 1 :(得分:-2)

尝试将命令放在括号内:

new-alias -name dog -value (&"C:\Path\To\Dog.exe" -flag1 -flag2 arg3)