格式化命令和输出命令

2008-08-12 11:38:14.0     浏览:1242     来源:中国IT实验室
关键词:  格式化     输出  
这个例子显示PowerShell最近10个日志的日志信息。 Format-Table为了保证每个对象只输出一行,只会输出那些较重要的信息,一般对对象的检索,使用Format-Table就是最好的办法。
 
  其他几个命令, 您可以参照PowerShell的帮助, 或我翻译的帮助信息详细学习。
 
  看完了负责格式化对象输出信息的cmdlet,我们需要考虑该把这些信息输出到什么位置了。Out族包括了:Out-Default、Out-File、Out-Host、Out-Null、Out-Printer、Out-GridView和Out-String. Out-Host命令,就是将显示结果返回给宿主程序,由宿主程序展现给使用者。Out-Default默认就是使用Out-Host进行输出,但是根据PowerShell文档的描述,Out-Default用来提供一种占位符的特性,你可以在脚本完成后,重新修改Out-Default来控制整个程序的输出。
 
  Out-Null的作用就是将输出丢弃,在很多时候,如果我们不关心命令的返回结果,而只关一条命令产生的某些影响时,我们可以将该命令的输出通过管道发送给Out-Null.例如:PS C:\> New-Item TestIt -Type dir Directory: Microsoft.PowerShell.Core\FileSystem::C:\ Mode LastWriteTime Length Name
 
 ---- ------------- ------ ----
 
  d—— 2007-9-16 21:10 TestIt PS C:\> New-Item TestIt -Type dir | Out-Null New-Item : Item with specified name C:\TestIt already exists. At line:1 char:9 + New-Item <<<< TestIt -Type dir | Out-Null PS C:\> Remove-Item TestIt PS C:\> New-Item TestIt -Type dir | Out-Null PS C:\>我们首先创建了TestIt的目录,默认情况下,New-Item返回新创建的目录,该对象被输出到控制台上。我们接下来试图再创建一次该目录,并将输出信息丢弃。然而,由于该目录已经存在,因此创建失败,命令给出了错误提示。这里我们需要注意错误信息并没有被丢弃!接下来我们删除目录TestIt,再次执行创建命令,这次,屏幕上没有显示创建的目录信息。
 
  最后,我们来看看Out-File.很多时候,我们需要将某种编码的字符串存储为其他编码形式。我们可以简单的使用Out-File的参数Encoding来设置输出信息的编码格式。这些编码包括了:“Unicode”、“UTF7”、“UTF8”、“UTF32”、“ASCII”等等。有时候,我们还会遇到如果将信息写入文件中。如果该文件已经存在,我们可能希望信息继续追加到文件的末尾,或者当文件已经存在时,我们希望覆盖这个文件。通过参数Append,我们可以告诉Out-File究竟是覆盖文件,还是在文件的末尾进行追加。让我们看看简单的例子:PS C:\> "我是第一行!" | Out-File append.txt PS C:\> Get-Content C:\append.txt我是第一行!
 
  PS C:\> "我是第二行,但是我要试试覆盖第一个行!!" | Out-File append.txt PS C:\> Get-Content C:\append.txt我是第二行,但是我要试试覆盖第一个行!!
[上一页]   [第1页]   [第2页]   [第3页]   [下一页]