about_Wildcards
Breve descrizione
Descrive come usare i 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 trovare una corrispondenza con tutti i file nella C:\Techdocs
directory con un'estensione .ppt
di file, digitare:
Get-ChildItem C:\Techdocs\*.ppt
In questo caso, il carattere jolly asterisco (*
) rappresenta tutti i caratteri visualizzati prima dell'estensione del .ppt
nome file.
Le espressioni con caratteri jolly sono più semplici delle espressioni regolari. Per altre informazioni, vedere about_Regular_Expressions.
PowerShell supporta i caratteri jolly seguenti:
*
- Trova la corrispondenza con zero o più caratteria*
corrispondeaA
a ,ag
eApple
a*
non corrispondebanana
?
- Trova la corrispondenza di un carattere in tale posizione?n
corrispondean
a ,in
eon
?n
non corrisponderan
[ ]
- Trova la corrispondenza con un intervallo di caratteri[a-l]ook
corrispondebook
a ,cook
elook
[a-l]ook
non corrispondetook
[ ]
- Trova la corrispondenza di caratteri specifici[bc]ook
corrispondenzebook
ecook
[bc]ook
non corrispondehook
`*
- Trova la corrispondenza di qualsiasi carattere come valore letterale (non come carattere jolly)12`*4
corrisponde a12*4
12`*4
non corrisponde1234
È possibile includere più caratteri jolly nello stesso modello di parola. Ad esempio, per trovare file di testo con nomi che iniziano con le lettere da al, digitare:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Ci possono essere casi in cui si vuole trovare la 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 del carattere letterale. Ad esempio, '*hello`?*'
corrisponde alle stringhe contenenti "hello?".
Molti cmdlet accettano caratteri jolly nei valori dei parametri. Nell'argomento della Guida per ogni cmdlet vengono descritti i parametri che accettano caratteri jolly. Per i parametri che accettano caratteri jolly, il relativo utilizzo 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 usa 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)"
}
}