about_Wildcards
Krótki opis
Opisuje sposób używania symboli wieloznacznych w programie PowerShell.
Długi opis
Symbole wieloznaczne reprezentują jeden lub wiele znaków. Można ich używać do tworzenia wzorców wyrazów w poleceniach. Wyrażenia z symbolami wieloznacznymi są używane z -like
operatorem lub z dowolnym parametrem, który akceptuje symbole wieloznaczne.
Aby na przykład dopasować wszystkie pliki w C:\Techdocs
katalogu z .ppt
rozszerzeniem nazwy pliku, wpisz:
Get-ChildItem C:\Techdocs\*.ppt
W takim przypadku znak wieloznaczny gwiazdka (*
) reprezentuje wszystkie znaki, które pojawiają się przed .ppt
rozszerzeniem nazwy pliku.
Wyrażenia z symbolami wieloznacznymi są prostsze niż wyrażenia regularne. Aby uzyskać więcej informacji, zobacz about_Regular_Expressions.
Program PowerShell obsługuje następujące symbole wieloznaczne:
Symbol wieloznaczny | Opis | Przykład | Dopasowanie | Brak dopasowania |
---|---|---|---|---|
* |
Dopasowanie do zera lub większej liczby znaków | a* |
aA, ag, Apple | Banana |
? |
Dopasowanie jednego znaku w tym położeniu | ?n |
an, in, on | Prowadził |
[ ] |
Dopasowanie zakresu znaków | [a-l\]ook |
book, cook, look | Wziął |
[ ] |
Dopasowanie określonych znaków | [bc]ook |
book, cook | Hak |
`* |
Dopasowanie dowolnego znaku jako literału (nie symbolu wieloznacznego) | 12`*4 |
12*4 | 1234 |
W tym samym wzorcu wyrazów można uwzględnić wiele symboli wieloznacznych. Aby na przykład znaleźć pliki tekstowe o nazwach zaczynanych od liter od a do l, wpisz:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Mogą wystąpić przypadki, w których chcesz dopasować znak literału zamiast traktować go jako symbol wieloznaczny. W takich przypadkach można użyć znaku backtick (`
), aby zmienić symbol wieloznaczny na znak ucieczki, tak aby był porównywany przy użyciu wartości znaku literału. Na przykład dopasowuje ciągi '*hello`?*'
zawierające ciąg "hello?".
Wiele polecenia cmdlet akceptują symbole wieloznaczne w wartościach parametrów. Temat pomocy dla każdego polecenia cmdlet opisuje, które parametry akceptują symbole wieloznaczne. W przypadku parametrów, które akceptują symbole wieloznaczne, ich użycie jest bez uwzględniania liter.
W poleceniach i blokach skryptów można używać symboli wieloznacznych, takich jak , aby utworzyć wzorzec wyrazu reprezentujący wartości właściwości. Na przykład następujące polecenie pobiera usługi, w których wartość właściwości ServiceType obejmuje interactive.
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
W poniższym przykładzie instrukcja zawiera If
warunek, który używa symboli wieloznacznych do znalezienia wartości właściwości. Jeśli opis punktu przywracania zawiera program PowerShell, polecenie dodaje wartość właściwości CreationTime punktu przywracania do pliku dziennika.
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}
Zobacz też
Opinia
Prześlij i wyświetl opinię dla