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ż