Bagikan melalui


Measure-Object

Menghitung sifat numerik objek, dan karakter, kata, dan garis dalam objek string, seperti file teks.

Sintaks

GenericMeasure (Default)

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

TextMeasure

Measure-Object
    [[-Property] <PSPropertyExpression[]>]
    [-InputObject <PSObject>]
    [-Line]
    [-Word]
    [-Character]
    [-IgnoreWhiteSpace]
    [<CommonParameters>]

Deskripsi

cmdlet Measure-Object menghitung nilai properti dari jenis objek tertentu. Measure-Object melakukan tiga jenis pengukuran, tergantung pada parameter dalam perintah.

Cmdlet Measure-Object melakukan penghitungan pada nilai properti objek. Anda dapat menggunakan Measure-Object untuk menghitung objek atau menghitung objek dengan Properti tertentu. Anda juga dapat menggunakan untuk menghitungMinimum , Maksimum , Jumlah, StandardDeviation dan rata-rata nilai numerik . Untuk objek String, Anda juga dapat menggunakan Measure-Object untuk menghitung jumlah baris, kata, dan karakter.

Contoh

Contoh 1: Menghitung file dan folder dalam direktori

Perintah ini menghitung file dan folder di direktori saat ini.

Get-ChildItem | Measure-Object

Contoh 2: Mengukur file dalam direktori

Perintah ini menampilkanMinimum , Maksimum , dan Jumlah ukuran semua file di direktori saat ini, dan ukuran rata-rata file dalam direktori.

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

Contoh 3: Mengukur teks dalam file teks

Perintah ini menampilkan jumlah karakter, kata, dan baris dalam file Text.txt. Tanpa parameter Raw, Get-Content menghasilkan file sebagai array baris.

Perintah pertama menggunakan Set-Content untuk menambahkan beberapa teks default ke file.

"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

Contoh 4: Mengukur objek yang berisi Properti tertentu

Contoh ini menghitung jumlah objek yang memiliki properti DisplayName . Dua perintah pertama mengambil semua layanan dan proses pada komputer lokal. Perintah ketiga menghitung jumlah gabungan layanan dan proses. Perintah terakhir menggabungkan dua koleksi dan menyalurkan hasilnya ke Measure-Object.

Objek System.Diagnostics.Process tidak memiliki properti DisplayName, dan dibiarkan keluar dari jumlah akhir.

$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

Contoh 5: Mengukur konten file CSV

Perintah ini menghitung rata-rata tahun layanan karyawan perusahaan.

File ServiceYrs.csv adalah file CSV yang berisi jumlah karyawan dan tahun layanan setiap karyawan. Baris pertama dalam tabel adalah baris header EmpNo, Tahun.

Saat Anda menggunakan untuk mengimpor file, hasilnya adalah PSCustomObject dengan properti catatan EmpNo dan Years. Anda dapat menggunakan Measure-Object untuk menghitung nilai properti ini, sama seperti properti objek lainnya.

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

Contoh 6: Mengukur nilai Boolean

Contoh ini menunjukkan bagaimana Measure-Object dapat mengukur nilai Boolean. Dalam hal ini, ia menggunakan properti PSIsContainerBoolean untuk mengukur insiden folder (vs. file) di direktori saat ini.

Get-ChildItem | Measure-Object -Property PSIsContainer -Maximum -Sum -Minimum -Average
Count             : 126
Average           : 0.0634920634920635
Sum               : 8
Maximum           : 1
Minimum           : 0
StandardDeviation :
Property          : PSIsContainer

Contoh 7: Mengukur string

Contoh berikut mengukur jumlah baris, pertama-tama satu string, lalu di beberapa string. Karakter baris baru `n memisahkan string menjadi beberapa baris.

# 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

Contoh 8: Mengukur semua nilai

Dimulai di PowerShell 6, memungkinkan Anda mengukur semua statistik bersama-sama.

1..5 | Measure-Object -AllStats
Count             : 5
Average           : 3
Sum               : 15
Maximum           : 5
Minimum           : 1
StandardDeviation : 1.58113883008419
Property          :

Contoh 9: Mengukur menggunakan properti blokir skrip

Dimulai di PowerShell 6, Measure-Object mendukung properti ScriptBlock . Contoh berikut menunjukkan cara menggunakan properti ScriptBlock untuk menentukan ukuran, dalam MegaBytes, dari semua file dalam direktori.

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

Contoh 10: Mengukur hashtable

Dimulai di PowerShell 6, Measure-Object mendukung pengukuran input hashtable . Contoh berikut menentukan nilai terbesar untuk num kunci 3 objek yang dapat di-hash.

@{num=3}, @{num=4}, @{num=5} | Measure-Object -Maximum Num
Count             : 3
Average           :
Sum               :
Maximum           : 5
Minimum           :
StandardDeviation :
Property          : num

Contoh 11: Mengukur Simpang Siur Standar

Dimulai di PowerShell 6, Measure-Object mendukung parameter -StandardDeviation. Contoh berikut menentukan simpang siur standar untuk CPU yang digunakan oleh semua proses. Penyimpangan besar akan menunjukkan sejumlah kecil proses yang mengkonsumsi CPU terbanyak.

Get-Process | Measure-Object -Average -StandardDeviation CPU
Count             : 303
Average           : 163.032384488449
Sum               :
Maximum           :
Minimum           :
StandardDeviation : 859.444048419069
Property          : CPU

Contoh 12: Mengukur menggunakan kartubebas

Dimulai di PowerShell 6, Measure-Object mendukung pengukuran objek dengan menggunakan kartubebas dalam nama properti. Contoh berikut menentukan maksimum semua jenis penggunaan memori halaman di antara serangkaian proses.

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

Parameter

-AllStats

Menunjukkan bahwa cmdlet menampilkan semua statistik properti yang ditentukan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

GenericMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Average

Menunjukkan bahwa cmdlet menampilkan nilai rata-rata properti yang ditentukan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

GenericMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Character

Menunjukkan bahwa cmdlet menghitung jumlah karakter dalam objek input.

Nota

Sakelar Word, Char dan menghitung di dalam setiap objek input, serta di seluruh objek input. Lihat Contoh 7.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

TextMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-IgnoreWhiteSpace

Menunjukkan bahwa cmdlet mengabaikan spasi kosong dalam jumlah karakter. Secara default, spasi kosong tidak diabaikan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

TextMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InputObject

Menentukan objek yang akan diukur. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek.

Saat Anda menggunakan parameter InputObject dengan Measure-Object, alih-alih hasil perintah pipa ke Measure-Object, nilai InputObject diperlakukan sebagai satu objek.

Disarankan agar Anda menggunakan Measure-Object dalam alur jika Anda ingin mengukur kumpulan objek berdasarkan apakah objek memiliki nilai tertentu dalam properti yang ditentukan.

Properti parameter

Jenis:PSObject
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Line

Menunjukkan bahwa cmdlet menghitung jumlah baris dalam objek input.

Nota

Sakelar Word, Char dan menghitung di dalam setiap objek input, serta di seluruh objek input. Lihat Contoh 7.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

TextMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Maximum

Menunjukkan bahwa cmdlet menampilkan nilai maksimum properti yang ditentukan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

GenericMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Minimum

Menunjukkan bahwa cmdlet menampilkan nilai minimum properti yang ditentukan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

GenericMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Property

Menentukan satu atau beberapa properti untuk diukur. Jika Anda tidak menentukan ukuran lain, Measure-Object menghitung objek yang memiliki properti yang Anda tentukan.

Nilai parameter Properti dapat menjadi properti terhitung baru. Properti terhitung harus berupa blok skrip. Untuk informasi lebih lanjut, lihat tentang_Properti_Terhitung.

Properti parameter

Jenis:

PSPropertyExpression[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Set parameter

(All)
Position:0
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-StandardDeviation

Menunjukkan bahwa cmdlet menampilkan simpantan baku nilai properti yang ditentukan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

GenericMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Sum

Menunjukkan bahwa cmdlet menampilkan jumlah nilai properti yang ditentukan.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

GenericMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Word

Menunjukkan bahwa cmdlet menghitung jumlah kata dalam objek input.

Nota

Sakelar Word, Char dan menghitung di dalam setiap objek input, serta di seluruh objek input. Lihat Contoh 7.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

TextMeasure
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

PSObject

Anda dapat menyalurkan objek ke cmdlet ini.

Output

GenericMeasureInfo

Secara default, cmdlet ini mengembalikan objek GenericMeasureInfo .

TextMeasureInfo

Saat Anda menggunakan parameter Word , cmdlet ini mengembalikan objek TextMeasureInfo .

Catatan

PowerShell menyertakan alias berikut untuk Measure-Object:

  • Semua platform:
    • measure

Dimulai di PowerShell 7.3, Measure-Object tidak lagi mengembalikan kesalahan saat memproses objek yang kehilangan properti yang diukur kecuali Anda berjalan di StrictMode. Di StrictMode, Measure-Object mengembalikan System.Management.Automation.PSArgumentException saat memproses objek yang kehilangan properti yang ditentukan.