Condividi tramite


Informazioni_su_Wildcards

Breve descrizione

Viene descritto come usare caratteri jolly in PowerShell.

Descrizione lunga

I caratteri jolly rappresentano uno o più caratteri. È possibile usarli per creare modelli di parola nei comandi. Le espressioni con caratteri jolly vengono usate con l'operatore -like o con qualsiasi parametro che accetta caratteri jolly.

Ad esempio, per associare tutti i file nella directory C:\Techdocs con un'estensione di file .ppt, digitare:

Get-ChildItem C:\Techdocs\*.ppt

In questo caso, il carattere jolly asterisco (*) rappresenta tutti i caratteri visualizzati prima dell'estensione del nome file .ppt.

Le espressioni con caratteri jolly sono più semplici rispetto alle espressioni regolari. Per altre informazioni, vedere about_Regular_Expressions.

PowerShell supporta i caratteri jolly seguenti:

Jolly Descrizione Esempio Partita Nessuna corrispondenza
* Corrispondenza di zero o più caratteri a* aA, ag, Mela banana
? Abbina un personaggio in quella posizione ?n un, in, su corse
[ ] Abbina un intervallo di caratteri [a-l\]ook Libro, cucinare, guardare Preso
[ ] Abbina personaggi specifici [bc]ook prenotare, cucinare uncino
`* Corrisponde a qualsiasi carattere come valore letterale (non come carattere jolly) 12`*4 12*4 1234

È possibile includere più caratteri jolly nello stesso modello di parola. Ad esempio, per trovare file di testo con nomi che iniziano con le lettere un tramite l, digitare:

Get-ChildItem C:\Techdocs\[a-l]*.txt

In alcuni casi può essere necessario trovare una corrispondenza con il carattere letterale anziché considerarlo come carattere jolly. In questi casi è possibile usare il carattere backtick (`) per eseguire l'escape del carattere jolly in modo che venga confrontato usando il valore letterale del carattere. Ad esempio, '*hello`?*' corrisponde a stringhe contenenti "hello?".

Molti cmdlet accettano caratteri jolly nei valori dei parametri. L'argomento della Guida per ogni cmdlet descrive i parametri che accettano caratteri jolly. Per i parametri che accettano caratteri jolly, l'uso non fa distinzione tra maiuscole e minuscole.

È possibile usare caratteri jolly nei comandi e nei blocchi di script, ad esempio per creare un criterio di parola che rappresenta i valori delle proprietà. Ad esempio, il comando seguente ottiene i servizi in cui il valore della proprietà ServiceType include Interactive.

Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}

Nell'esempio seguente l'istruzione If include una condizione che utilizza caratteri jolly per trovare i valori delle proprietà. Se la descrizione del punto di ripristino include powerShell, il comando aggiunge il valore della proprietà CreationTime del punto di ripristino a un file di log.

$p = Get-ComputerRestorePoint
foreach ($point in $p) {
  if ($point.description -like "*PowerShell*") {
    Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
  }
}

Vedere anche