Measure-Object
Calcola le proprietà numeriche degli oggetti e i caratteri, le parole e le righe negli oggetti stringa, ad esempio i file di testo.
Sintassi
Measure-Object
[-InputObject <PSObject>]
[[-Property] <String[]>]
[-Sum]
[-Average]
[-Maximum]
[-Minimum]
[<CommonParameters>]
Measure-Object
[-InputObject <PSObject>]
[[-Property] <String[]>]
[-Line]
[-Word]
[-Character]
[-IgnoreWhiteSpace]
[<CommonParameters>]
Descrizione
Il Measure-Object
cmdlet calcola i valori delle proprietà di determinati tipi di oggetto.
Measure-Object
esegue tre tipi di misurazioni, a seconda dei parametri nel comando .
Il Measure-Object
cmdlet esegue calcoli sui valori delle proprietà degli oggetti. È possibile utilizzare Measure-Object
per contare gli oggetti o contare gli oggetti con una proprietà specificata. È anche possibile utilizzare Measure-Object
per calcolare i valori Minimo, Massimo, Somma, StandardDeviation e Media dei valori numerici. Per gli oggetti String , è anche possibile usare Measure-Object
per contare il numero di righe, parole e caratteri.
Esempio
Esempio 1: Contare i file e le cartelle in una directory
Questo comando conta i file e le cartelle nella directory corrente.
Get-ChildItem | Measure-Object
Esempio 2: Misurare i file in una directory
Questo comando visualizza le dimensioni minime, massime e somma di tutti i file nella directory corrente e le dimensioni medie di un file nella directory.
Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -Sum -Average
Esempio 3: Misurare il testo in un file di testo
Questo comando visualizza il numero di caratteri, parole e righe nel file Text.txt.
Senza il parametro Raw , Get-Content
restituisce il file come matrice di righe.
Il primo comando usa Set-Content
per aggiungere testo predefinito a un 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
Esempio 4: Misurare oggetti contenenti una proprietà specificata
In questo esempio viene conteggiato il numero di oggetti con una proprietà DisplayName . I primi due comandi recuperano tutti i servizi e i processi nel computer locale. Il terzo comando conta il numero combinato di servizi e processi. L'ultimo comando combina le due raccolte e invia tramite pipe il risultato a Measure-Object
.
L'oggetto System.Diagnostics.Process non dispone di una proprietà DisplayName ed è escluso dal conteggio finale.
$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
Esempio 5: Misurare il contenuto di un file CSV
Questo comando calcola la media di anni di servizio dei dipendenti di una società.
Il ServiceYrs.csv
file è un file CSV che contiene il numero di dipendenti e gli anni di servizio di ogni dipendente. La prima riga della tabella è una riga di intestazione di EmpNo, Years.
Quando si usa Import-Csv
per importare il file, il risultato è un PSCustomObject con proprietà note di EmpNo e Years.
È possibile utilizzare Measure-Object
per calcolare i valori di queste proprietà, esattamente come qualsiasi altra proprietà di un oggetto.
Import-Csv d:\test\serviceyrs.csv | Measure-Object -Property years -Minimum -Maximum -Average
Esempio 6: Misurare i valori booleani
In questo esempio viene illustrato come misurare i Measure-Object
valori booleani.
In questo caso, usa la proprietà booleana PSIsContainer per misurare l'incidenza delle cartelle (rispetto ai file) nella directory corrente.
Get-ChildItem | Measure-Object -Property psiscontainer -Maximum -Sum -Minimum -Average
Count : 126
Average : 0.0634920634920635
Sum : 8
Maximum : 1
Minimum : 0
StandardDeviation :
Property : PSIsContainer
Esempio 7: Misurare le stringhe
Nell'esempio seguente viene misurato il numero di righe, prima una singola stringa, quindi tra più stringhe. Il carattere `n
di nuova riga separa le stringhe in più righe.
# 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
Parametri
-Average
Indica che il cmdlet visualizza il valore medio delle proprietà specificate.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Character
Indica che il cmdlet conta il numero di caratteri negli oggetti di input.
Nota
Le opzioni Word, Char e Line vengono conteggiati all'interno di ogni oggetto di input, nonché tra gli oggetti di input. Vedere l'esempio 7.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-IgnoreWhiteSpace
Indica che il cmdlet ignora gli spazi vuoti nei conteggi dei caratteri. Per impostazione predefinita, gli spazi vuoti non vengono ignorati.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica gli oggetti da misurare. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti.
Quando si usa il parametro InputObject con Measure-Object
, invece di eseguire il piping dei risultati del comando a Measure-Object
, il valore InputObject viene considerato come un singolo oggetto.
È consigliabile usare Measure-Object
nella pipeline se si vuole misurare una raccolta di oggetti in base al fatto che gli oggetti abbiano valori specifici nelle proprietà definite.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Line
Indica che il cmdlet conta il numero di righe negli oggetti di input.
Nota
Le opzioni Word, Char e Line vengono conteggiati all'interno di ogni oggetto di input, nonché tra gli oggetti di input. Vedere l'esempio 7.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Maximum
Indica che il cmdlet visualizza il valore massimo delle proprietà specificate.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Minimum
Indica che il cmdlet visualizza il valore minimo delle proprietà specificate.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Property
Specifica una o più proprietà da misurare. Se non si specificano altre misure, Measure-Object
conta gli oggetti con le proprietà specificate.
Tipo: | String[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Sum
Indica che il cmdlet visualizza la somma dei valori delle proprietà specificate.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Word
Indica che il cmdlet conta il numero di parole negli oggetti di input.
Nota
Le opzioni Word, Char e Line vengono conteggiati all'interno di ogni oggetto di input, nonché tra gli oggetti di input. Vedere l'esempio 7.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe oggetti a questo cmdlet.
Output
Per impostazione predefinita, questo cmdlet restituisce un oggetto GenericMeasureInfo .
Quando si utilizza il parametro Word , questo cmdlet restituisce un oggetto TextMeasureInfo .
Note
Windows PowerShell include gli alias seguenti per Measure-Object
:
measure