2011-01-13 141 views
3

我有一個腳本test.ps1如下:PowerShell命令行參數爲零或爲空

param(  
     $a = "ValueA" 
) 

現在如果在命令行中從我的MSBuild項目文件中調用它,如下所示

\測試。 ps1 -a「」 。\ test.ps1 -a $ null

它不會將默認值「ValueA」分配給$ a。我想將默認的「Value」賦值給$ a,即使用戶傳遞了null或空值。我知道我可以使用如果構造,但我想知道是否有一個簡短的方法來實現這一點。任何想法?

回答

0

我覺得沒有比辦法短,如果構建這樣的情況下(編輯澄清:這種情況下,這樣的情況你明確指定的參數比在呼叫默認其他的東西)。

+0

我這個答案達成一致。你明確地說,當調用它時你希望參數爲'null'。如果你希望'null'時的參數是默認的,你需要編寫一些代碼來完成這個工作。 – TravisEz13 2016-05-30 21:03:30

0

參數( $ A = 「值a」 )

$ A =( 「值a」,$ A)[INT] [BOOL] $ A]

+0

好吧,所以它不是真的更短。 – mjolinor 2011-01-13 20:53:58