Udostępnij przez


Measure-Object

Oblicza właściwości liczbowe obiektów oraz znaki, wyrazy i wiersze w obiektach ciągów, takich jak pliki tekstu.

Składnia

GenericMeasure (domyślnie)

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>]

Opis

Polecenie cmdlet Measure-Object oblicza wartości właściwości niektórych typów obiektów. Measure-Object wykonuje trzy typy pomiarów, w zależności od parametrów w poleceniu.

Polecenie cmdlet Measure-Object wykonuje obliczenia na wartości właściwości obiektów. Za pomocą Measure-Object można liczyć obiekty lub obiekty z określoną właściwością . Można również użyć Measure-Object do obliczenia minimum, maksimum, Sum, StandardDeviation i Average wartości liczbowych. W przypadku obiektów String można również użyć Measure-Object do zliczenia liczby wierszy, wyrazów i znaków.

Przykłady

Przykład 1: zlicz pliki i foldery w katalogu

To polecenie zlicza pliki i foldery w bieżącym katalogu.

Get-ChildItem | Measure-Object

Przykład 2. Mierzenie plików w katalogu

To polecenie wyświetla minimalny, maksymalnyi Sum rozmiary wszystkich plików w bieżącym katalogu oraz średni rozmiar pliku w katalogu.

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

Przykład 3. Mierzenie tekstu w pliku tekstowym

To polecenie wyświetla liczbę znaków, wyrazów i wierszy w pliku Text.txt. Bez parametru RawGet-Content zwraca plik jako tablicę wierszy.

Pierwsze polecenie używa Set-Content do dodania domyślnego tekstu do pliku.

"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

Przykład 4. Mierzenie obiektów zawierających określoną właściwość

W tym przykładzie zlicza się liczbę obiektów, które mają właściwość DisplayName. Pierwsze dwa polecenia pobierają wszystkie usługi i procesy na komputerze lokalnym. Trzecie polecenie zlicza łączną liczbę usług i procesów. Ostatnie polecenie łączy dwie kolekcje i potokuje wynik w celu Measure-Object.

Obiekt System.Diagnostics.Process nie ma właściwości DisplayName i jest pominięty z końcowej liczby.

$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

Przykład 5. Mierzenie zawartości pliku CSV

To polecenie oblicza średnie lata obsługi pracowników firmy.

Plik ServiceYrs.csv jest plikiem CSV zawierającym liczbę pracowników i lata obsługi każdego pracownika. Pierwszy wiersz w tabeli to wiersz nagłówka EmpNo, Years.

W przypadku importowania pliku przy użyciu Import-Csv wynik jest PSCustomObject z właściwościami notatek EmpNo i Years. Za pomocą Measure-Object można obliczyć wartości tych właściwości, podobnie jak każda inna właściwość obiektu.

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

Przykład 6. Mierzenie wartości logicznych

W tym przykładzie pokazano, jak Measure-Object może mierzyć wartości logiczne. W tym przypadku używa właściwości PSIsContainerwartości logicznej, aby zmierzyć częstość występowania folderów (w porównaniu z plikami) w bieżącym katalogu.

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

Przykład 7. Mierzenie ciągów

Poniższy przykład mierzy liczbę wierszy, najpierw jeden ciąg, a następnie kilka ciągów. Znak nowego wiersza `n oddziela ciągi w wiele wierszy.

# 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

Przykład 8. Mierzenie wszystkich wartości

Począwszy od programu PowerShell 6, parametr AllStatsMeasure-Object pozwala zmierzyć wszystkie statystyki razem.

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

Przykład 9. Mierzenie przy użyciu właściwości scriptblock

Począwszy od programu PowerShell 6, Measure-Object obsługuje właściwości ScriptBlock. W poniższym przykładzie pokazano, jak użyć właściwości ScriptBlock w celu określenia rozmiaru w megabajtach wszystkich plików w katalogu.

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

Przykład 10: Tabele skrótów miar

Począwszy od programu PowerShell 6, Measure-Object obsługuje pomiar danych wejściowych skrótu. Poniższy przykład określa największą wartość klucza num 3 obiektów.

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

Przykład 11: Mierzenie odchylenia standardowego

Począwszy od programu PowerShell 6, Measure-Object obsługuje parametr -StandardDeviation. Poniższy przykład określa odchylenie standardowe dla procesora cpu używanego przez wszystkie procesy. Duże odchylenie wskazuje niewielką liczbę procesów zużywających najwięcej procesora CPU.

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

Przykład 12: Mierzenie przy użyciu symboli wieloznacznych

Począwszy od programu PowerShell 6, Measure-Object obsługuje pomiar obiektów przy użyciu symboli wieloznacznych w nazwach właściwości. Poniższy przykład określa maksymalny typ użycia pamięci stronicowanej między zestawem procesów.

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

Parametry

-AllStats

Wskazuje, że polecenie cmdlet wyświetla wszystkie statystyki określonych właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GenericMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Average

Wskazuje, że polecenie cmdlet wyświetla średnią wartość określonych właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GenericMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Character

Wskazuje, że polecenie cmdlet zlicza liczbę znaków w obiektach wejściowych.

Uwaga / Notatka

Przełączniki Word, Char i Linewewnątrz każdego obiektu wejściowego, a także między obiektami wejściowymi. Zobacz przykład 7.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

TextMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-IgnoreWhiteSpace

Wskazuje, że polecenie cmdlet ignoruje białe znaki w liczbach znaków. Domyślnie białe znaki nie są ignorowane.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

TextMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-InputObject

Określa obiekty, które mają być mierzone. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty.

Jeśli używasz parametru InputObject z parametrem Measure-Object, zamiast potokowania wyników polecenia do Measure-Object, wartość InputObject jest traktowana jako pojedynczy obiekt.

Zaleca się użycie Measure-Object w potoku, jeśli chcesz zmierzyć kolekcję obiektów na podstawie tego, czy obiekty mają określone wartości we zdefiniowanych właściwościach.

Właściwości parametru

Typ:PSObject
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Line

Wskazuje, że polecenie cmdlet zlicza liczbę wierszy w obiektach wejściowych.

Uwaga / Notatka

Przełączniki Word, Char i Linewewnątrz każdego obiektu wejściowego, a także między obiektami wejściowymi. Zobacz przykład 7.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

TextMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Maximum

Wskazuje, że polecenie cmdlet wyświetla maksymalną wartość określonych właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GenericMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Minimum

Wskazuje, że polecenie cmdlet wyświetla minimalną wartość określonych właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GenericMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Property

Określa co najmniej jedną właściwość do mierzenia. Jeśli nie określisz żadnych innych miar, Measure-Object zlicza obiekty, które mają określone właściwości.

Wartość parametru Property może być nową właściwością obliczeniową. Właściwość obliczeniowa musi być blokiem skryptu. Aby uzyskać więcej informacji, odnieś się do about_Calculated_Properties.

Właściwości parametru

Typ:

PSPropertyExpression[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:True
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-StandardDeviation

Wskazuje, że polecenie cmdlet wyświetla odchylenie standardowe wartości określonych właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GenericMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Sum

Wskazuje, że polecenie cmdlet wyświetla sumę wartości określonych właściwości.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

GenericMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Word

Wskazuje, że polecenie cmdlet zlicza liczbę wyrazów w obiektach wejściowych.

Uwaga / Notatka

Przełączniki Word, Char i Linewewnątrz każdego obiektu wejściowego, a także między obiektami wejściowymi. Zobacz przykład 7.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

TextMeasure
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

PSObject

Obiekty można potokować do Measure-Object.

Dane wyjściowe

GenericMeasureInfo

TextMeasureInfo

Jeśli używasz parametru Word, Measure-Object zwraca obiekt TextMeasureInfo. W przeciwnym razie zwraca obiekt GenericMeasureInfo.