about_Operators

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

ARGOMENTO

about_Operators

DESCRIZIONE BREVE

Vengono descritti gli operatori supportati da Windows PowerShell.

DESCRIZIONE LUNGA

Un operatore è un elemento del linguaggio che è possibile utilizzare in un comando o in un'espressione. Windows PowerShell supporta vari tipi di operatori che consentono di modificare i valori.

OPERATORI ARITMETICI

Utilizzare gli operatori aritmetici (+, -, *, /, %) per calcolare i valori in un comando o in un'espressione. Con questi operatori, è possibile aggiungere, sottrarre, moltiplicare o dividere i valori e calcolare il resto (modulo) di un'operazione di divisione.

È inoltre possibile utilizzare gli operatori aritmetici con matrici, stringhe e tabelle hash. L'operatore di addizione consente di concatenare gli elementi. L'operatore di moltiplicazione restituisce il numero di copie specificato di ogni elemento.

Per ulteriori informazioni, vedere about_Arithmetic_Operators.

OPERATORI DI ASSEGNAZIONE

Utilizzare gli operatori di assegnazione (=, +=, -=, *=, /=, %=) per assegnare uno o più valori alle variabili, per modificare i valori in una variabile e per aggiungere valori alle variabili. È inoltre possibile impostare la variabile come qualsiasi tipo di dati Microsoft .NET Framework, ad esempio stringa o variabile DateTime o Process.

Per ulteriori informazioni, vedere about_Assignment_Operators.

OPERATORI DI CONFRONTO

Utilizzare gli operatori di confronto (-eq, -ne, -gt, -lt, -le, -ge) per confrontare valori e condizioni di test. Ad esempio, è possibile confrontare due valori stringa per determinare se sono uguali.

Gli operatori di confronto includono gli operatori di corrispondenza (-match, -notmatch), che trovano i modelli utilizzando espressioni regolari; l'operatore di sostituzione (-replace), che usa espressioni regolari per modificare i valori di input; gli operatori like (-like, -notlike), che individuano i modelli che utilizzano caratteri jolly (*). Infine, gli operatori di contenimento (-in, -notin, -contains, -notcontains), che determinano se un valore di test viene visualizzato in un set di riferimento.

Includono, inoltre, gli operatori bit per bit (-bAND, -bOR, -bXOR, -bNOT) per modificare i modelli di bit dei valori.

Per ulteriori informazioni, vedere about_Comparison_Operators

OPERATORI LOGICI

Utilizzare gli operatori logici (-and, -or, -xor, -not, !) per la connessione di istruzioni condizionali in una singola condizionale complessa. Ad esempio, è possibile utilizzare un operatore -and logico per creare un filtro di oggetto con due condizioni diverse.

Per ulteriori informazioni, vedere about_Logical_Operators.

OPERATORI DI REINDIRIZZAMENTO

Utilizzare gli operatori di reindirizzamento (>, >>, 2>, 2> e 2>&1) per inviare l'output di un comando o di un'espressione a un file di testo. Gli operatori di reindirizzamento funzionano come il cmdlet Out-File (senza parametri) ma consentono anche di reindirizzare l'output di errore a file specificati. È inoltre possibile utilizzare il cmdlet consentono per reindirizzare l'output.

Per ulteriori informazioni, vedere about_Redirection.

OPERATORI SPLIT E JOIN

Gli operatori -split e -join dividono e combinano le sottostringhe. L'operatore –split divide una stringa in sottostringhe. L'operatore -join consente di concatenare più stringhe in un'unica stringa.

Per ulteriori informazioni, vedere about_Split and about_Join.

OPERATORI DI TIPO

Utilizzare gli operatori di tipo (-is, -isnot, -as) per trovare o modificare il tipo di .NET Framework di un oggetto.

Per ulteriori informazioni, vedere about_Type_Operators.

OPERATORI UNARI

Utilizzare gli operatori unari per incrementare o decrementare variabili o proprietà dell'oggetto e impostare valori interi su numeri positivi o negativi. Ad esempio, per incrementare la variabile $a da 9 a 10, digitare $a++.

OPERATORI SPECIALI

Utilizzare gli operatori speciali per eseguire attività che non possono essere eseguite da altri tipi di operatori. Ad esempio, gli operatori speciali consentono di eseguire operazioni quali l'esecuzione di comandi e la modifica del tipo di dati di un valore.

@( ) Operatore sottoespressione matrice

Restituisce il risultato di una o più istruzioni sotto forma di matrice. Se è presente un solo elemento, la matrice ha un solo membro.

             @(Get-WMIObject win32_logicalDisk)

& Operatore di chiamata

Consente di eseguire un comando, uno script o un blocco di script. L'operatore di chiamata, noto anche come "operatore di chiamata", consente di eseguire comandi che vengono archiviati nelle variabili e rappresentati da stringhe. Poiché l'operatore di chiamata non analizza il comando, non è possibile interpretare i parametri del comando.

             C:\PS> $c = "get-executionpolicy"
             C:\PS> $c
             get-executionpolicy
 
             C:\PS> & $c
             AllSigned

[ ] Operatore di cast

Converte o limita gli oggetti nel tipo specificato. Se gli oggetti non possono essere convertiti, Windows PowerShell genera un errore.

             [datetime]$birthday = "1/20/88"
             [int64]$a = 34  

, Operatore virgola

Come operatore binario, la virgola crea una matrice. Come operatore unario, la virgola crea una matrice con un membro. Inserire la virgola prima del membro.

             $myArray = 1,2,3 
             $SingleArray = ,1     

. Operatore dot sourcing

Esegue uno script nell'ambito corrente in modo che funzioni, alias e variabili create dallo script vengano aggiunti all'ambito corrente.

             . c:\scripts.sample.ps1

Nota: l'operatore dot sourcing è seguito da uno spazio. Utilizzare lo spazio per distinguere il punto dal simbolo di punto (.) che rappresenta la directory corrente.

Nell'esempio seguente, lo script Sample.ps1 nella directory corrente viene eseguito nell'ambito corrente.

                 . .\sample.ps1

Operatore formato -f

Formatta le stringhe utilizzando il metodo di formattazione degli oggetti stringa. Immettere la stringa di formattazione sul lato sinistro dell'operatore e gli oggetti da formattare sul lato destro dell'operatore.

             C:\PS> "{0} {1,-10} {2:N}" -f 1,"hello",[math]::pi
             1 hello      3.14

Per ulteriori informazioni, vedere il metodo String.Format (https://go.microsoft.com/fwlink/?LinkID=166450) e la formattazione composita (https://go.microsoft.com/fwlink/?LinkID=166451).

[ ] Operatore di indice

Seleziona oggetti da insiemi indicizzati, ad esempio matrici e tabelle hash. Gli indici di matrice sono a base zero, pertanto il primo oggetto viene indicizzato come [0]. Per le matrici (esclusivamente), è possibile utilizzare anche gli indici negativi per ottenere gli ultimi valori. Le tabelle hash vengono indicizzate dal valore della chiave.

             C:\PS> $a = 1, 2, 3
             C:\PS> $a[0]
             1
             C:\PS> $a[-1]
             3


             C:\PS> (get-hotfix | sort installedOn)[-1]

           
             C:\PS> $h = @{key="value"; name="Windows PowerShell"; version="2.0"}
             C:\PS> $h["name"]
             Windows PowerShell


             C:\PS> $x = [xml]"<doc><intro>Once upon a time...</intro></doc>"
             C:\PS> $x["doc"]
             intro
             -----
             Once upon a time...

| Operatore pipeline

Invia ("pipe") l'output del comando che lo precede al comando che lo segue. Quando l'output include più di un oggetto ("raccolta"), l'operatore pipeline invia gli oggetti uno alla volta.

               get-process | get-member
               get-pssnapin | where {$_.vendor -ne "Microsoft"}                              

. Operatore di dereferenziazione proprietà

Accede a proprietà e metodi di un oggetto.

             $myProcess.peakWorkingSet
             (get-process PowerShell).kill()

.. Operatore di intervallo

Rappresenta valori integer sequenziali in una matrice di integer, dato un limite superiore e inferiore.

             1..10
             10..1
             foreach ($a in 1..$max) {write-host $a}

:: Operatore membro statico

Chiama l'operatore di proprietà statiche e i metodi di una classe .NET Framework. Per trovare le proprietà e metodi statici di un oggetto, utilizzare il parametro Static del cmdlet Get-Member.

             [datetime]::now
   

Operatore di sottoespressione $( )

Restituisce il risultato di una o più istruzioni. Per un singolo risultato, restituisce un valore scalare. Per più risultati, restituisce una matrice.

             $($x * 23)
             $(Get-WMIObject win32_Directory)

VEDERE ANCHE

about_Arithmetic_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Logical_Operators

about_Type_Operators

about_Split

about_Join

about_Redirection