[原創][PowerShell教程][07]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用於指示在整個過程中,當前執行的狀態,這裏我們簡單的提示了當前完成的百分比。

今天就這麼多了, 希望大家回去自己看看Get-Help獲得的幫助信息. 每個命令都有些例子, 大家仔細學習一下.
發佈了110 篇原創文章 · 獲贊 10 · 訪問量 54萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章