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 cmdlet Measure-Object
calcola i valori delle proprietà di determinati tipi di oggetto.
Measure-Object
esegue tre tipi di misurazioni, a seconda dei parametri nel comando.
Il cmdlet Measure-Object
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 usare Measure-Object
per calcolare il minimo, massimo, Sum, StandardDeviation e media di valori numerici. Per oggetti String, è anche possibile utilizzare 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 il Minimo, Massimoe Somma delle dimensioni di tutti i file nella directory corrente e le dimensioni medie di un file nella directory.
Get-ChildItem | Measure-Object -Property length -Minimum -Maximum -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
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
$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 gli anni medi di servizio dei dipendenti di una società.
Il file ServiceYrs.csv
è 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 utilizza 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 il Measure-Object
può misurare i valori booleani.
In questo caso, usa la proprietà PSIsContainerbooleana 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 di nuova riga `n
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
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, lo spazio vuoto non viene ignorato.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-InputObject
Specifica gli oggetti da misurare. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti .
Quando si usa il parametro InputObject con Measure-Object
, anziché i risultati del comando piping per 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
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: | False |
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: | False |
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: | False |
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: | False |
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
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: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare oggetti tramite pipe a Measure-Object
.
Output
Microsoft.PowerShell.Commands.GenericMeasureInfo, Microsoft.PowerShell.Commands.TextMeasureInfo, Microsoft.PowerShell.Commands.GenericObjectMeasureInfo
Se si utilizza il parametro