क्योंPowerShell के "मापन-ऑब्जेक्ट" cmdlet के लिए "-प्रोपर्टी" पैरामीटर का उपयोग कैसे करें?
$a = GPS AcroRd32 | Measure
$a.Count
कार्य, जिसमें
GPS AcroRd32 | Measure -Property Count
नहीं करता है?
पहला उदाहरण 2
का मान देता है, जो मैं चाहता हूं, एक पूर्णांक।
दूसरे उदाहरण इस देता है:
Measure-Object : Property "Count" cannot be found in any object(s) input.
At line:1 char:23
+ GPS AcroRd32 | Measure <<<< -Property Count
+ CategoryInfo : InvalidArgument: (:) [Measure-Object], PSArgumentException
+ FullyQualifiedErrorId : GenericMeasurePropertyNotFound,Microsoft.PowerShell.Commands.MeasureObjectCommand
This Scripting Guy entry वह जगह है जहाँ मैं कैसे पहले कोड नमूने में "गणना" संपत्ति का उपयोग करने के लिए सीखा है।
दूसरा कोड नमूना वास्तव में भ्रमित है। this Script Center reference, निम्नलिखित बयान काम करता है:
Import-Csv c:\scripts\test.txt | Measure-Object score -ave -max -min
यह अभी भी भी काम करता है, यदि वह ऐसा तरह फिर से लिखा है:
Import-Csv c:\scripts\test.txt | Measure-Object -ave -max -min -property score
मैं इस को स्वीकार करने के साथ भी कई समस्या नहीं है जब तक मैं Measure-Object help page पर विचार । -Property <string[]>
के लिए पैरामीटर परिभाषा बताती है:
डिफ़ॉल्ट वस्तु की गणना (लंबाई) संपत्ति है।
तो Count
डिफ़ॉल्ट, तो Count
काम का एक स्पष्ट पास करना चाहिए नहीं है?
GPS AcroRd32 | Measure -Property Count # Fails
निम्नलिखित मुझे जानकारी नहीं जो मैं की जरूरत है प्रदान करता है सिवाय इसके कि इसे एक पूर्णांक पर कार्रवाई करने के साथ मुझे प्रदान नहीं करता है के रूप में आप देखेंगे:
PS C:\Users\Me> $a = GPS AcroRd32 | Measure
PS C:\Users\Me> $a
Count : 2
Average :
Sum :
Maximum :
Minimum :
Property :
PS C:\Users\Me> $a -is [int]
False
तो, डॉट नोटेशन ($a.count
) क्यों काम करता है, लेकिन स्पष्ट रूप से लिखित बयान (GPS | Measure -Property Count
) क्यों नहीं?
मैं, डॉट संकेतन का उपयोग करने वाला हूँ तो मैं लूंगा, लेकिन मैं जानने के लिए इस अवसर पर करना चाहते हैं तो अधिक के बारे में कैसे और * क्यों PowerShell सिर्फ एक असावधान निर्माण की तुलना में इस तरह से काम करता है, बल्कि पावरशेल के वाक्यविन्यास की समझ। इसे एक और तरीका रखने के लिए, मैं Cargo Cult Programmer/Code Monkey में बदलने से बचना चाहता हूं।
'Get-सदस्य -InputObject (जीपीएस AcroRd32)' - यह मुझे समझने की जहां 'Count' संपत्ति में मदद की से आया। अब मैं क्यों मेरे "पूरा बयान" काम नहीं करता है देख सकते हैं, क्योंकि यह गलत वाक्य रचना थी। मुझे दिखाने के लिए धन्यवाद कि '(जीपीएस एक्रोआरडी 32) का उपयोग कैसे करें। गणना करें! – Stisfa