2014-02-12 67 views
3

有沒有辦法以編程方式加載.ps1腳本文件的文檔之外的命令,如get-help?換句話說,可以通過編程訪問.SYNOPSIS,.DESCRIPTION等下定義的文本,而不是過濾get-help本身的字符串輸出。PowerShell:以編程方式訪問腳本文檔

其中,我試圖找到我的腳本庫中的文檔覆蓋率存在差距。我還希望能夠顯示附加大綱的某些腳本的列表。

+0

您想訪問cmdlet的幫助,或者在開始時通過註釋塊訪問有效的內嵌文檔嗎?你可以添加一個只顯示幫助的參數(例如'-h'開關。 –

回答

4

是的,這些都可以訪問。 Get-Help返回(就像任何其他cmdlet一樣)對象,並且該對象的默認呈現是您在控制檯中看到的內容。

但是,如果泵get-help的輸出通過format-list,像這樣:

get-help get-childitem | format-list 

你會得到屬性的名稱 - 值對的列表。爲了讓故事大綱,你可以做到以下幾點:

get-help get-childitem |select-object -property synopsis 

和輸出:

Synopsis 
-------- 
Gets the files and folders in a file system drive. 

如果您.ps1文件沒有在它定義的cmdlet(您的基於註釋的幫助覆蓋了整個腳本) ,get-help file.ps1|select synopsis應該可以工作。否則,您需要「點源」文件以將cmdlet定義加載到內存中,然後使用get-help(如上所述)。

+0

有趣的是,你必須明確地獲得幫助才能工作 - 如果你使用'help'別名,你只需要獲得文本。 – piers7