Measure-Object

Nesnelerin sayısal özelliklerini ve metin dosyaları gibi dize nesnelerindeki karakterleri, sözcükleri ve satırları hesaplar.

Sözdizimi

Measure-Object
       [[-Property] <PSPropertyExpression[]>]
       [-InputObject <PSObject>]
       [-StandardDeviation]
       [-Sum]
       [-AllStats]
       [-Average]
       [-Maximum]
       [-Minimum]
       [<CommonParameters>]
Measure-Object
       [[-Property] <PSPropertyExpression[]>]
       [-InputObject <PSObject>]
       [-Line]
       [-Word]
       [-Character]
       [-IgnoreWhiteSpace]
       [<CommonParameters>]

Description

cmdlet'i Measure-Object belirli nesne türlerinin özellik değerlerini hesaplar. Measure-Object komutundaki parametrelere bağlı olarak üç tür ölçüm gerçekleştirir.

cmdlet'i Measure-Object , nesnelerin özellik değerleri üzerinde hesaplamalar yapar. Nesneleri saymak veya belirli bir Özelliğe sahip nesneleri saymak için kullanabilirsinizMeasure-Object. Sayısal değerlerin Minimum, Maksimum, Toplam, StandardDeviation ve Ortalama değerlerini hesaplamak için de kullanabilirsinizMeasure-Object. Dize nesneleri için, satır, sözcük ve karakter sayısını saymak için de kullanabilirsinizMeasure-Object.

Örnekler

Örnek 1: Dizindeki dosya ve klasörleri sayma

Bu komut geçerli dizindeki dosya ve klasörleri sayar.

Get-ChildItem | Measure-Object

Örnek 2: Dizindeki dosyaları ölçme

Bu komut geçerli dizindeki tüm dosyaların boyutlarının En Düşük, En Yüksek ve Toplam değerlerini ve dizindeki bir dosyanın ortalama boyutunu görüntüler.

Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -Average

Örnek 3: Metin dosyasındaki metni ölçme

Bu komut, Text.txt dosyasındaki karakter, sözcük ve satır sayısını görüntüler. Raw parametresi olmadan, Get-Content dosyayı bir satır dizisi olarak verir.

İlk komut, bir dosyaya bazı varsayılan metinler eklemek için kullanır Set-Content .

"One", "Two", "Three", "Four" | Set-Content -Path C:\Temp\tmp.txt
Get-Content C:\Temp\tmp.txt | Measure-Object -Character -Line -Word

Lines Words Characters Property
----- ----- ---------- --------
    4     4         15

Örnek 4: Belirtilen Özelliği içeren nesneleri ölçme

Bu örnek, DisplayName özelliğine sahip nesne sayısını sayar. İlk iki komut yerel makinedeki tüm hizmetleri ve işlemleri alır. Üçüncü komut, birleştirilmiş hizmet ve işlem sayısını sayar. Son komut, iki koleksiyonu birleştirir ve sonucu olarak Measure-Objectişler.

System.Diagnostics.Process nesnesinin DisplayName özelliği yoktur ve son sayının dışında bırakılır.

$services = Get-Service
$processes = Get-Process
$services + $processes | Measure-Object
$services + $processes | Measure-Object -Property DisplayName

Count    : 682
Average  :
Sum      :
Maximum  :
Minimum  :
Property :

Count    : 290
Average  :
Sum      :
Maximum  :
Minimum  :
Property : DisplayName

Örnek 5: CSV dosyasının içeriğini ölçme

Bu komut, bir şirketin çalışanlarının ortalama hizmet yıllarını hesaplar.

Dosya ServiceYrs.csv , her çalışanın çalışan numarasını ve yıllarını içeren bir CSV dosyasıdır. Tablodaki ilk satır, EmpNo, Years üst bilgi satırıdır.

Dosyayı içeri aktarmak için kullandığınızdaImport-Csv, sonuç EmpNo ve Years not özelliklerine sahip bir PSCustomObject'tir. Bir nesnenin diğer özellikleri gibi bu özelliklerin değerlerini hesaplamak için kullanabilirsiniz Measure-Object .

Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average

Örnek 6: Boole değerlerini ölçme

Bu örnekte Boole değerlerinin nasıl Measure-Object ölçülebileceği gösterilmektedir. Bu durumda, geçerli dizindeki klasörlerin (dosyalara karşı) insidansını ölçmek için PSIsContainer Boole özelliğini kullanır.

Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average

Count             : 126
Average           : 0.0634920634920635
Sum               : 8
Maximum           : 1
Minimum           : 0
StandardDeviation :
Property          : PSIsContainer

Örnek 7: Ölçü dizeleri

Aşağıdaki örnek satır sayısını, önce tek bir dizeyi, sonra da birkaç dizeyi ölçer. Yeni satır karakteri `n dizeleri birden çok satıra ayırır.

# The newline character `n separates the string into separate lines, as shown in the output.
"One`nTwo`nThree"
"One`nTwo`nThree" | Measure-Object -Line

One
Two
Three


Lines Words Characters Property
----- ----- ---------- --------
    3

# The first string counts as a single line.
# The second string is separated into two lines by the newline character.
"One", "Two`nThree" | Measure-Object -Line

Lines Words Characters Property
----- ----- ---------- --------
    3

# The Word switch counts the number of words in each InputObject
# Each InputObject is treated as a single line.
"One, Two", "Three", "Four Five" | Measure-Object -Word -Line

Lines Words Characters Property
----- ----- ---------- --------
    3     5

Örnek 8: Tüm değerleri ölçme

PowerShell 6'nın AllStats parametresiMeasure-Object, tüm istatistikleri birlikte ölçmenizi sağlar.

1..5 | Measure-Object -AllStats

Count             : 5
Average           : 3
Sum               : 15
Maximum           : 5
Minimum           : 1
StandardDeviation : 1.58113883008419
Property          :

Örnek 9: Scriptblock özelliklerini kullanarak ölçme

PowerShell 6'da başlayarak ScriptBlock Measure-Object özelliklerini destekler. Aşağıdaki örnekte, bir dizindeki tüm dosyaların MegaBytes cinsinden boyutunu belirlemek için ScriptBlock özelliğinin nasıl kullanılacağı gösterilmektedir.

Get-ChildItem | Measure-Object -Sum {$_.Length/1MB}

Örnek 10: Karma tablo ölçme

PowerShell 6'da başlayarak karma Measure-Object tablo girişinin ölçülebilir olduğunu destekler. Aşağıdaki örnek, 3 karma tablo nesnesinin num anahtarı için en büyük değeri belirler.

@{num=3}, @{num=4}, @{num=5} | Measure-Object -Maximum Num

Count             : 3
Average           :
Sum               :
Maximum           : 5
Minimum           :
StandardDeviation :
Property          : num

Örnek 11: Standart Sapması Ölçme

PowerShell 6'da Measure-Object başlayarak parametresini -StandardDeviation destekler. Aşağıdaki örnek, tüm işlemler tarafından kullanılan CPU için standart sapması belirler. Büyük bir sapma, en çok CPU kullanan az sayıda işlemi gösterir.

Get-Process | Measure-Object -Average -StandardDeviation CPU

Count             : 303
Average           : 163.032384488449
Sum               :
Maximum           :
Minimum           :
StandardDeviation : 859.444048419069
Property          : CPU

Örnek 12: Joker karakter kullanarak ölçme

PowerShell 6'da başlayarak, Measure-Object özellik adlarında joker karakterler kullanarak nesnelerin ölçülünü destekler. Aşağıdaki örnek, bir dizi işlem arasında herhangi bir disk belleği bellek kullanımı türünün üst sınırını belirler.

Get-Process | Measure-Object -Maximum *paged*memory*size

Count             : 303
Average           :
Sum               :
Maximum           : 735784
Minimum           :
StandardDeviation :
Property          : NonpagedSystemMemorySize

Count             : 303
Average           :
Sum               :
Maximum           : 352104448
Minimum           :
StandardDeviation :
Property          : PagedMemorySize

Count             : 303
Average           :
Sum               :
Maximum           : 2201968
Minimum           :
StandardDeviation :
Property          : PagedSystemMemorySize

Count             : 303
Average           :
Sum               :
Maximum           : 719032320
Minimum           :
StandardDeviation :
Property          : PeakPagedMemorySize

Parametreler

-AllStats

Cmdlet'in belirtilen özelliklerin tüm istatistiklerini görüntülediğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Average

Cmdlet'in belirtilen özelliklerin ortalama değerini gösterdiğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Character

Cmdlet'in giriş nesnelerindeki karakter sayısını saydığını gösterir.

Not

Word, Char ve Line anahtarları, hem her giriş nesnesinin içinde hem de giriş nesneleri arasında sayar. Bkz. Örnek 7.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-IgnoreWhiteSpace

Cmdlet'in karakter sayılarındaki boşluğu yoksaydığını gösterir. Varsayılan olarak, boşluk yoksayılmaz.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-InputObject

Ölçülecek nesneleri belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.

Komutun sonuçlarını Measure-Objectöğesine göndermek yerine ile Measure-ObjectInputObject parametresini kullandığınızda, InputObject değeri tek bir nesne olarak değerlendirilir.

Nesnelerin tanımlı özelliklerde belirli değerlere sahip olup olmadığına bağlı olarak bir nesne koleksiyonunu ölçmek istiyorsanız işlem hattında kullanmanız Measure-Object önerilir.

Tür:PSObject
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Line

Cmdlet'in giriş nesnelerindeki satır sayısını saydığını gösterir.

Not

Word, Char ve Line anahtarları, hem her giriş nesnesinin içinde hem de giriş nesneleri arasında sayar. Bkz. Örnek 7.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Maximum

Cmdlet'in belirtilen özelliklerin en yüksek değerini görüntülendiğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Minimum

Cmdlet'in belirtilen özelliklerin en düşük değerini görüntülediğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Property

Ölçülecek bir veya daha fazla özelliği belirtir. Başka ölçü belirtmezseniz, Measure-Object belirttiğiniz özelliklere sahip nesneleri sayar.

Property parametresinin değeri yeni bir hesaplanmış özellik olabilir. Hesaplanan özellik bir betik bloğu olmalıdır. Daha fazla bilgi için bkz . about_Calculated_Properties.

Tür:PSPropertyExpression[]
Position:0
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:True

-StandardDeviation

Cmdlet'in belirtilen özelliklerin değerlerinin standart sapması görüntülendiğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Sum

Cmdlet'in belirtilen özelliklerin değerlerinin toplamını görüntülediğini gösterir.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Word

Cmdlet'in giriş nesnelerindeki sözcük sayısını saydığını gösterir.

Not

Word, Char ve Line anahtarları, hem her giriş nesnesinin içinde hem de giriş nesneleri arasında sayar. Bkz. Örnek 7.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

PSObject

Nesneleri bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

GenericMeasureInfo

Varsayılan olarak, bu cmdlet bir GenericMeasureInfo nesnesi döndürür.

TextMeasureInfo

Word parametresini kullandığınızda, bu cmdlet bir TextMeasureInfo nesnesi döndürür.

Notlar

PowerShell için aşağıdaki diğer adları Measure-Objectiçerir:

  • Tüm platformlar:
    • measure

PowerShell 7.3'te başlayarak, Measure-Object StrictMode'da çalışmadığınız sürece ölçülen özelliği eksik olan bir nesne işlenirken artık hata döndürmez. StrictMode'da, Measure-Object belirtilen özelliği eksik olan bir nesne işlenirken döndürürSystem.Management.Automation.PSArgumentException.