格式化命令和输出命令

2008-08-12 11:38:14.0     推荐:0    收藏:0    评论:0     来源:中国IT实验室
在PowerShell中,负责进行格式化和输出的是三类cmdlet.他们分别是:Format-*、Out-*和 Write-* .顾名思义,Format-* 主要是用来对信息进行格式化操作,Out-*用于指定输出设备,而 Write-* 为 PowerShell 宿主(Host)输出的更多有用信息提供了快捷访问接口。
 
  我们要将对象输出到控制台或打印机等位置前,我们首先必须将对象格式化成为字符串的形式。一个对象可能包含几十种属性信息,PowerShell的开发者已经考虑到我们在日常使用时,不会使用一个对象的所有信息,因此默认情况下只保留该对象上最主要的几种属性。让我们来看看进程对象默认会显示哪些属性。首先看看进程对象究竟有多少个属性:PS C:\> (Get-Process Idle | Get-Member -MemberType Property)。Count 51在上面例子,首先使用Get-Process命令返回表示Idle进程的对象,并通过Get-Member命令返回该对象上所有属性,最后我们给出该对象的属性个数(打印这些属性太占地方了,你可以把Count去掉,检查返回的结果)。让我们看看PowerShell默认情况下会输出哪些属性吧:PS C:\> Get-Process Idle Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
 
 ------- ------ ----- ----- ----- ------ -- -----------
 
  0 0 0 16 0 0 Idle正如前面所介绍的,PowerShell默认只会返回对象上一部分属性信息,究竟显示哪些属性是通过定义在ETS系统中的信息决定的。
 
  Format族包含了:Format-Custom、Format-List、Format-Table和Format-Wide四个命令。在大多数情况下,Format-Table是PowerShell默认使用的格式器。Format-List的输出类似上面输出进程属性的格式,每个对象将会占一行。一行内包括该对象的多个主要属性,如果该属性信息太长,PowerShell就会将该信息截断。让我们看几个管理PowerShell最常用的例子:PS C:\> Get-EventLog -LogName 'Windows PowerShell' -Newest 10 | Format-Table Index Time Type Source InstanceID Message
 
  ----- ---- ---- ------ ---------- -------
 
  1029 五月 31 21:38 Information PowerShell 400 Engine state is changed from None to Available……
 
  1028 五月 31 21:38 Information PowerShell 400 Engine state is changed from None to Available……
 
  1027 五月 31 21:38 Information PowerShell 600 Provider "Certificate" is Started. ……
 
  1026 五月 31 21:38 Information PowerShell 600 Provider "Variable" is Started. ……
 
  1025 五月 31 21:38 Information PowerShell 600 Provider "Registry" is Started. ……
 
  1024 五月 31 21:38 Information PowerShell 600 Provider "Function" is Started. ……
 
  1023 五月 31 21:38 Information PowerShell 600 Provider "FileSystem" is Started. ……
 
  1022 五月 31 21:38 Information PowerShell 600 Provider "Environment" is Started. ……
 
  1021 五月 31 21:38 Information PowerShell 600 Provider "Alias" is Started. ……
 
  1020 五月 31 15:43 Information PowerShell 403 Engine state is changed from Available to Stopp……
[第1页]   [第2页]   [第3页]   [下一页]
您可以针对本文进行:[评论]  [收藏]  [推荐]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: