Powershell命令行参数为Null或Empty

时间:2011-01-13 11:29:47

标签: powershell powershell-v2.0

我有一个脚本test.ps1如下:

param(     
      $a = "ValueA"
)

现在如果从我的msbuild项目文件中命令行调用它,如下所示

。\ test.ps1 -a“” 。\ test.ps1 -a $ null

它不会将默认值“ValueA”分配给$ a。我想将默认的“Value”分配给$ a,即使用户将其传递为null或空值。我知道我可以使用 if 构造,但我想知道是否有一个快速的更短的方法来实现这一点。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为对于这种情况,如果构造没有更短的方法(编辑澄清:这种情况下你显式指定参数是什么的情况除了通话中的默认值)。

答案 1 :(得分:0)

param($ a =“Value” )

$ a =(“值”,$ an)[[int] [bool] $ a]