我寫了一個函數將輸入的月份參數轉換爲某種格式。例如如果我將04傳遞給該函數並且該函數將返回「_APR _」。我寫的函數是象下面這樣:如何正確調用powershell函數?
function GetEnMonth()
{
param([string] $month)
switch ($month)
{
($_ -eq "01"){$result = "_JAN_"}
($_ -eq "02"){$result = "_FEB_"}
($_ -eq "03"){$result = "_MAR_"}
($_ -eq "04"){$result = "_APR_"}
($_ -eq "05"){$result = "_MAY_"}
($_ -eq "06"){$result = "_JUN_"}
($_ -eq "07"){$result = "_JUL_"}
($_ -eq "08"){$result = "_AUG_"}
($_ -eq "09"){$result = "_SEP_"}
($_ -eq "10"){$result = "_OCT_"}
($_ -eq "11"){$result = "_NOV_"}
($_ -eq "12"){$result = "_DEC_"}
default {$result ="_No_Result_"}
}
return [string]$result;
}
然後我用下面的命令來執行的函數來得到結果:
$mYear = $today.substring(0,4)
$mMonth =$today.substring(4,2)
$mDate = $today.substring(6,2)
$monthInEn = GetEnMonth $mMonth
好,結果始終是「_No_Result_」,爲什麼呢?下面是例外:
**** Exception type : System.Management.Automation.RuntimeException
**** Exception message : You cannot call a method on a null-valued expression.
有人能給我這個答案嗎? 我已經搜索了很多Google,但沒有找到有用的解決方案。
如何給今日$的價值? – 2012-04-10 10:01:52
該參數是手動操作的。我們通過之前的日期,截至20120409。 – CharlieShi 2012-04-10 10:02:59