说明:教程转自 http://bbs.winos.cn/thread-35543-1-1.html
作者: Edengundam(马涛)
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获得的帮助信息. 每个命令都有些例子, 大家仔细学习一下. |