PowerShell中Write族cmdlet的介紹和使用

Write相關的命令大都是和宿主相互交互的,例如:輸出調試信息、輸出錯誤對象、顯示進度信息、控制輸出效果等。 在不少時候,咱們但願可以將一些信息以特殊的顏色或背景色輸出。在PowerShell的控制檯中,咱們可使用Write-Host命令來實現這個功能。參數ForegroundColor用於指定字體顏色,BackgroundColor用於指定背景的顏色。例如: PS C:/> Write-Host -BackgroundColor Black -ForegroundColor Red 「Hello World!」 Hello World! 若是你記不住有哪些顏色該怎麼辦呢?很簡單,只須要在該參數後面輸入一個不存在的顏色便可,例如: PS C:/> Write-Host -BackgroundColor NoSuchColor Write-Host : Cannot bind parameter 'BackgroundColor'. Cannot convert value "NoSuchColor" to type "System.ConsoleColor" due to invalid enumeration values. Specify one of the following enumeration values and try again. The possible enumerat ion values are "Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cy an, Red, Magenta, Yellow, White". At line:1 char:28 + Write-Host -BackgroundColor <<<< NoSuchColor 咱們能夠看到PowerShell的錯誤提示信息已經包含該參數的全部合法取值。利用這個辦法,在不少時候,均可以免去查看手冊或查閱其餘資料來肯定參數所支持的值。 Write-Debug、Write-Warning和Write-Verbose是三個很是相似的命令,它們都是向控制檯輸出一條消息,它們主要爲了腳本編寫者可以更加靈活的控制輸出。傳統的shell和腳本語言,常常經過向屏幕打印一些調試信息來幫助編寫者排除腳本的錯誤。PowerShell雖然提供了強大的調試功能,還經過提供Write-Debug爲你們保留了利用打印消息來調試這一經典方法的功能。 在進行拷貝操做時,若是某個已經存在的話,可能並不但願中止拷貝操做,可是期待着PowerShell可以提供一個警告信息。此時使用Write-Verbose 若是使用過壓縮類軟件的話,咱們可能會關心壓縮的時候,究竟哪些文件被打包了,這時候咱們每每但願一個程序執行時,線程更加詳細的消息。咱們能夠利用Write-Verbose來達成這個目的。 這幾個Write命令實際使用頻率不高, 所以我將它們放到之後專門介紹如何編寫健壯的腳本章節中. 若是,您正在編寫一個拷貝文件或執行安裝的腳本,提供一個進度條將會使用戶再等待腳本執行時得到更好的體驗。PowerShell的設計人員已經爲咱們想到了這些細節,可使用Write-Progress來完成這樣的操做。 讓咱們來看一個最簡單的進度條模型: PS C:/> for ($i = 0; $i -lt 100; $i++) { Write-Progress -Activity "Learning PowerShell" -Status "Percentage: $i" -PercentComplete $i; Start-Sleep -Milliseconds 50 } 你將會在屏幕上看到: Learning PowerShell Percentage: 61 [ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ] 咱們使用參數-Activity來爲整個的進度條設置一個名稱(活動的名稱),這裏咱們定義爲「Learing PowerShell」,參數-Status用於指示在整個過程當中,當前執行的狀態,這裏咱們簡單的提示了當前完成的百分比。
相關文章
相關標籤/搜索