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

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 PSIsContainerper 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IgnoreWhiteSpace

Indica che il cmdlet ignora gli spazi vuoti nei conteggi dei caratteri. Per impostazione predefinita, gli spazi vuoti non vengono ignorati.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Maximum

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Minimum

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Property

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

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Sum

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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 Word , questo cmdlet restituisce un oggetto TextMeasureInfo .

Note

Windows PowerShell include gli alias seguenti per Measure-Object:

  • measure