在Powershell脚本中传递可选参数

时间:2016-11-23 05:02:44

标签: powershell parameter-passing

我正在尝试编写一个代码来检查是否存在参数并采取相应的操作。在调用脚本时,代码需要灵活地运行带有或不带参数的
例如:

if (arg[0] -And arg[1])
{
    $argOne = arg[0]
    $argTwo = arg[1]
}
else
{
    $argOne = "One"
    $argTwo = "Two"
}

这段代码显然是错误,因为我不确定如何检查Powershell中是否存在参数。在python中,有sys.argv的功能将所有参数存储到数组中。然后我可以尝试 - 除了检查参数是否存在。我可以在Powershell中做类似的事情吗?
我做了一些研究,建议用param来处理参数,但我不认为param可以处理没有传递给脚本的参数。

1 个答案:

答案 0 :(得分:0)

原来我param错了! 遇到this非常有帮助。

param($one, $two)

if ($one -And $two)
{
    $argOne = $one
    $argTwo = $two
}
else
{
    $argOne = "One"
    $argTwo = "Two"
}