Condividi tramite


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

GenericMeasure (Impostazione predefinita)

Measure-Object
    [[-Property] <String[]>]
    [-InputObject <PSObject>]
    [-Sum]
    [-Average]
    [-Maximum]
    [-Minimum]
    [<CommonParameters>]

TextMeasure

Measure-Object
    [[-Property] <String[]>]
    [-InputObject <PSObject>]
    [-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 -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 non elaborato, 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 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

GenericMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Character

Indica che il cmdlet conta il numero di caratteri negli oggetti di input.

Annotazioni

Word, Char e Line vengono conteggiati all'interno di ogni oggetto di input, nonché tra gli oggetti di input. Vedere l'esempio 7.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TextMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-IgnoreWhiteSpace

Indica che il cmdlet ignora gli spazi vuoti nei conteggi dei caratteri. Per impostazione predefinita, lo spazio vuoto non viene ignorato.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TextMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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, 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.

Proprietà dei parametri

Tipo:PSObject
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Line

Indica che il cmdlet conta il numero di righe negli oggetti di input.

Annotazioni

Word, Char e Line vengono conteggiati all'interno di ogni oggetto di input, nonché tra gli oggetti di input. Vedere l'esempio 7.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TextMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Maximum

Indica che il cmdlet visualizza il valore massimo delle proprietà specificate.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

GenericMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Minimum

Indica che il cmdlet visualizza il valore minimo delle proprietà specificate.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

GenericMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Property

Specifica una o più proprietà da misurare. Se non si specificano altre misure, Measure-Object conta gli oggetti con le proprietà specificate.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Sum

Indica che il cmdlet visualizza la somma dei valori delle proprietà specificate.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

GenericMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Word

Indica che il cmdlet conta il numero di parole negli oggetti di input.

Annotazioni

Word, Char e Line vengono conteggiati all'interno di ogni oggetto di input, nonché tra gli oggetti di input. Vedere l'esempio 7.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TextMeasure
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

PSObject

È possibile inviare tramite pipe oggetti a questo cmdlet.

Output

GenericMeasureInfo

Per impostazione predefinita, questo cmdlet restituisce un oggetto GenericMeasureInfo.

TextMeasureInfo

Quando si utilizza il parametro di Word, questo cmdlet restituisce un oggetto TextMeasureInfo.

Note

Windows PowerShell include gli alias seguenti per Measure-Object:

  • measure