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-Object
iş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-Object
InputObject 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
Nesneleri bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Varsayılan olarak, bu cmdlet bir GenericMeasureInfo nesnesi döndürür.
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-Object
iç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
.
İlişkili Bağlantılar
PowerShell