如果我在PowerShell中运行以下命令,它将返回一个具有WorkingSet属性总和的对象:
PS > get-process chrome | measure-object WorkingSet -sum
Count : 36
Average :
Sum : 2377129984
Maximum :
Minimum :
Property : WorkingSet
Run Code Online (Sandbox Code Playgroud)
如果我想只返回Sum值,我发现它的唯一方法是:
PS > $a = get-process chrome | measure-object WorkingSet -sum
PS > $a.Sum
2359980032
Run Code Online (Sandbox Code Playgroud)
有没有办法将原始命令传递给其他命令,以便我在一个步骤中返回整数?像这样的东西:
PS > get-process chrome | measure-object WorkingSet -sum | {some other command}
Run Code Online (Sandbox Code Playgroud)
ste*_*tej 14
是的,使用Select-Object:
Get-Process chrome | Measure-Object WorkingSet -sum | Select-Object -expand Sum
Run Code Online (Sandbox Code Playgroud)
当只需要原始对象的某些属性时,使用Select-Object.它创建一个新对象并将所需属性复制到新对象.
Get-Process | Select-Object -property ProcessName, Handles
Run Code Online (Sandbox Code Playgroud)
如果您需要提取值(来自一个属性),则使用参数-expandProperty而不是-property:
Get-Process | Select-Object -expand ProcessName
Run Code Online (Sandbox Code Playgroud)
请注意,您可以计算返回的值:
get-process | Select-Object -property @{Name='descr'; Expression={"{0} - {1}" -f $_.ProcessName, $_.Handles }}
Run Code Online (Sandbox Code Playgroud)
JNK*_*JNK 10
只需使用括号括起管道命令:
(get-process chrome | measure-object WorkingSet -sum).sum
Run Code Online (Sandbox Code Playgroud)
通常,PowerShell将括在括号中的任何内容视为可以通过属性/方法引用的对象.
其他方式:
(get-process chrome | measure-object WorkingSet -sum).sum
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29463 次 |
| 最近记录: |