about_Wildcards

Deskripsi singkat

Menjelaskan cara menggunakan karakter kartubebas di PowerShell.

Deskripsi panjang

Karakter kartubebas mewakili satu atau banyak karakter. Anda dapat menggunakannya untuk membuat pola kata dalam perintah. Ekspresi kartubebas digunakan dengan -like operator atau dengan parameter apa pun yang menerima kartubebas.

Misalnya, untuk mencocokkan semua file di C:\Techdocs direktori dengan .ppt ekstensi nama file, ketik:

Get-ChildItem C:\Techdocs\*.ppt

Dalam hal ini, karakter kartubebas tanda bintang (*) mewakili karakter apa pun yang muncul sebelum .ppt ekstensi nama file.

Ekspresi kartubebas lebih sederhana daripada ekspresi reguler. Untuk informasi selengkapnya, lihat about_Regular_Expressions.

PowerShell mendukung karakter kartubebas berikut:

  • * - Cocokkan nol atau lebih karakter
    • a* cocok aA, ag, dan Apple
    • a* tidak cocok banana
  • ? - Cocokkan satu karakter dalam posisi itu
    • ?n cocok an, in, dan on
    • ?n tidak cocok ran
  • [ ] - Cocokkan berbagai karakter
    • [a-l]ook cocok book, cook, dan look
    • [a-l]ook tidak cocok took
  • [ ] - Cocokkan karakter tertentu
    • [bc]ook kecocokan book dan cook
    • [bc]ook tidak cocok hook
  • `* - Cocokkan karakter apa pun sebagai literal (bukan karakter kartubebas)
    • 12`*4 Pertandingan 12*4
    • 12`*4 tidak cocok 1234

Anda dapat menyertakan beberapa karakter kartubebas dalam pola kata yang sama. Misalnya, untuk menemukan file teks dengan nama yang dimulai dengan huruf a sampai l, ketik:

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

Mungkin ada kasus di mana Anda ingin mencocokkan karakter harfiah daripada memperlakukannya sebagai karakter kartubebas. Dalam kasus tersebut Anda dapat menggunakan karakter backtick (`) untuk menghindari karakter kartubebas sehingga dibandingkan menggunakan nilai karakter harfiah. Misalnya, '*hello`?*' cocok dengan string yang berisi "halo?".

Banyak cmdlet menerima karakter kartubebas dalam nilai parameter. Topik Bantuan untuk setiap cmdlet menjelaskan parameter mana yang menerima karakter kartubebas. Untuk parameter yang menerima karakter kartubebas, penggunaannya tidak peka huruf besar/kecil.

Anda dapat menggunakan karakter kartubebas dalam perintah dan blok skrip, seperti untuk membuat pola kata yang mewakili nilai properti. Misalnya, perintah berikut mendapatkan layanan di mana nilai properti ServiceType menyertakan Interaktif.

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

Dalam contoh berikut, If pernyataan menyertakan kondisi yang menggunakan karakter kartubebas untuk menemukan nilai properti. Jika Deskripsi titik pemulihan menyertakan PowerShell, perintah menambahkan nilai properti CreationTime titik pemulihan ke file log.

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

Lihat juga