2011-09-13 17 views
12

, bu WorkingSet özelliğinin toplamı ile bana bir nesne döndürür:Yalnızca PowerShell'de Measure-Object öğesinin tamsayı toplamını nasıl iade edebilirim? Ben PowerShell aşağıdaki komutu çalıştırırsanız

PS > get-process chrome | measure-object WorkingSet -sum 

Count : 36 
Average : 
Sum  : 2377129984 
Maximum : 
Minimum : 
Property : WorkingSet 

Sadece Sum değeri döndürmek istiyorsanız, buldum tek yolu yapmak öyle: tek bir adımda tamsayı döndürür, böylece borunun bir yolu başka komutuna orijinal komut

PS > $a = get-process chrome | measure-object WorkingSet -sum 
PS > $a.Sum 
2359980032 

var mı? Böyle bir şey:

PS > get-process chrome | measure-object WorkingSet -sum | {some other command} 

cevap

12

Evet, kullanmak Select-Object: bir asıl nesneden sadece bazı özelliklerini gerektiğinde

Get-Process chrome | Measure-Object WorkingSet -sum | Select-Object -expand Sum 

Seç-Nesne kullanılır. Yeni bir nesne oluşturur ve istenen özellikleri yenisine kopyalar.

get-process | Select-Object -property @{Name='descr'; Expression={"{0} - {1}" -f $_.ProcessName, $_.Handles }} 
: döndürülen değeri hesaplayabilir

Get-Process | Select-Object -expand ProcessName 

Not: durumda

Get-Process | Select-Object -property ProcessName, Handles 

sen parametreyi -expandProperty yerine -property kullanmak (bir özelliğinden) değerini ayıklamak gerekir

6

Sadece pipet komutunu kapatmak için parantezleri kullanın:

(get-process chrome | measure-object WorkingSet -sum).sum 

Kural olarak, PowerShell, parantez içinde yer alan her şeyi özellik/yöntemlerle başvurabileceğiniz bir nesne olarak ele alır.

3

bir başka yolu:

(get-process chrome | measure-object WorkingSet -sum).sum 
İlgili konular