2011-09-13 10 views
12

अगर मैं PowerShell में निम्न आदेश चला, यह मेरे लिए एक वस्तु WorkingSet संपत्ति की राशि के साथ वापस आ जाएगी:मैं PowerShell में केवल माप-वस्तु का पूर्णांक योग कैसे लौटा सकता हूं?

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

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

मैं सिर्फ Sum मान देने के लिए चाहते हैं, एक ही रास्ता मैंने पाया ऐसा करने के लिए यह है:

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

वहाँ इतना है कि मैं एक ही चरण में पूर्णांक लौट पाइप के लिए एक रास्ता मूल आदेश कुछ अन्य आदेश के लिए है? कुछ इस तरह:

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

उत्तर

12

हाँ, का उपयोग Select-Object:

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

करें-वस्तु प्रयोग किया जाता है जब एक मूल वस्तु से केवल कुछ गुण की जरूरत है। यह एक नई वस्तु बनाता है और वांछित गुणों को नए में कॉपी करता है।

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

मामले में आप (एक संपत्ति से) मान प्राप्त करने की जरूरत है, तो आप पैरामीटर -expandProperty बजाय -property का उपयोग करें:

Get-Process | Select-Object -expand ProcessName 

ध्यान दें कि आप वापस आ मूल्य की गणना कर सकते हैं:

get-process | Select-Object -property @{Name='descr'; Expression={"{0} - {1}" -f $_.ProcessName, $_.Handles }} 
6

बस पाइप किए गए कमांड को संलग्न करने के लिए ब्रांड्स का उपयोग करें:

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

एक नियम के रूप में, पावरशेल किसी ऑब्जेक्ट के रूप में कोष्ठक में संलग्न कुछ भी मानता है जिसे आप गुण/विधियों द्वारा संदर्भित कर सकते हैं।

3

एक और तरीका है:

(get-process chrome | measure-object WorkingSet -sum).sum 
संबंधित मुद्दे