Measure-Object
रिटर्न एक TextMeasureInfo
वस्तु, नहीं एक पूर्णांक:
PS C:\> $lines = Get-Content .\foo.txt | Measure-Object -Line
PS C:\> $lines.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True False TextMeasureInfo Microsoft.PowerShell.Commands.MeasureInfo
जानकारी आप उपयोग करना 0 द्वारा प्रदान की गई चाहते उस वस्तु कीसंपत्ति:
PS C:\> $lines | Get-Member
TypeName: Microsoft.PowerShell.Commands.TextMeasureInfo
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Characters Property System.Nullable`1[[System.Int32, mscorlib, Vers...
Lines Property System.Nullable`1[[System.Int32, mscorlib, Vers...
Property Property System.String Property {get;set;}
Words Property System.Nullable`1[[System.Int32, mscorlib, Vers...
संपत्ति एक वास्तविक पूर्णांक रिटर्न यही कारण है कि:
PS C:\> $lines.Lines.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType
PS C:\> $lines.Lines
5
तो आप उपयोग कर सकते हैं कि आपके पाश में:
PS C:\> for ($i = 0; $i -le $lines.Lines; $i++) { echo $i }
0
1
2
3
4
5
PS C:\> _
स्रोत
2012-11-18 13:50:06
स्पष्ट रूप से 'लाइन्स' संपत्ति में गैर-खाली रेखाओं की संख्या होती है (यानी लंबाई> 0 के साथ रेखाएं)। दस्तावेज इस बात का जिक्र नहीं करता है, यद्यपि। –