2012-06-13 63 views
2

爲什麼在PowerShell中,日期是「get-date -displayhint」而不是「get-date -display」的格式?我明白「get-date -display」有效,但我不明白「提示」的意義。PowerShell - 爲什麼得到日期 - 顯示提示

+1

其實肯,馬修的問題是一個有效的問題。它可能表達得更好。我會在我的回答中解釋。 – Josh

+0

@JoshEinstein,你是對的。 :-)我的錯誤(錯誤的問題 - 也許是措辭,也許是我的錯)。刪除我的評論,所以它不會導致別人也這樣做。 –

回答

5

您所看到的是PowerShell的快捷參數名稱功能。基本上,該命令的形式參數名稱是-DisplayHint-Display工作的原因是因爲PowerShell將允許您指定參數名稱作爲必要的參數名稱,以便從其他參數中消除歧義。

事實上,你甚至可以只指定-di,它可以工作,因爲沒有其他參數會以「Di」開頭,這會產生衝突。但是,您不能將其縮短爲-d,因爲這會與-Day參數發生衝突,並且PowerShell無法確定您打算使用哪個參數。

獎勵提示:許多PowerShell命令爲其參數名稱指定了簡短別名。如果鍵入Get-Help <commandname> -Full,則可以看到爲該命令提供的別名。

+0

+1。恰好解釋道。 –

+1

+1與小評論。我認爲問題更多的是「爲什麼它可能會很短......」;)IMO-顯示作爲參數沒什麼意義 - Get-Date將在大多數(所有?)用例中「顯示」日期。因爲PS團隊試圖使參數有意義,因此像-ComputerName或-Recurse。幸運的是,我們可以縮短(-R)或使用參數別名(-CN),並且仍然在腳本中使命令「可讀」給人類,而不用讀取每個cmdlet的文檔。我認爲這是PS的非常好的功能。 :> – BartekB