Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Seringkali, Anda harus merancang cmdlet untuk dijalankan terhadap sekelompok sumber daya daripada terhadap satu sumber daya. Misalnya, cmdlet mungkin perlu menemukan semua file di penyimpanan data yang memiliki nama atau ekstensi yang sama. Anda harus memberikan dukungan untuk karakter kartubebas saat merancang cmdlet yang akan dijalankan terhadap sekelompok sumber daya.
Nota
Menggunakan karakter kartubebas terkadang disebut sebagai globbing.
Cmdlet Windows PowerShell yang Menggunakan Wildcard
Banyak cmdlet Windows PowerShell mendukung karakter kartubebas untuk nilai parameternya. Misalnya, hampir setiap cmdlet yang memiliki parameter Name atau Path mendukung karakter kartubebas untuk parameter ini. (Meskipun sebagian besar cmdlet yang memiliki parameter Path juga memiliki parameter LiteralPath yang tidak mendukung karakter kartubebas.) Perintah berikut menunjukkan bagaimana karakter kartubebas digunakan untuk mengembalikan semua cmdlet dalam sesi saat ini yang namanya berisi kata kerja Dapatkan.
Get-Command get-*
Karakter KartuBebas yang Didukung
Windows PowerShell mendukung karakter kartubebas berikut.
| Kartu Bebas | Deskripsi | Contoh | Korek api | Tidak cocok |
|---|---|---|---|---|
| * | Cocok dengan nol karakter atau lebih, dimulai dari posisi yang ditentukan | a* |
A, ag, Apple | |
| ? | Cocok dengan karakter apa pun pada posisi yang ditentukan | ?n |
An, di, pada | Berlari |
| [ ] | Cocok dengan rentang karakter | [a-l]ook |
buku, memasak, melihat | nook, mengambil |
| [ ] | Cocok dengan karakter yang ditentukan | [bn]ook |
buku, nook | masak, lihat |
Saat Anda merancang cmdlet yang mendukung karakter kartubebas, izinkan kombinasi karakter kartubebas. Misalnya, perintah berikut menggunakan cmdlet Get-ChildItem untuk mengambil semua file .txt yang ada di folder C:\Techdocs dan yang dimulai dengan huruf "a" melalui "l."
Get-ChildItem C:\techdocs\[a-l]\*.txt
Perintah sebelumnya menggunakan rentang wildcard [a-l] untuk menentukan bahwa nama file harus dimulai dengan karakter "a" hingga "l" dan menggunakan karakter kartubebas * sebagai tempat penampung untuk karakter apa pun antara huruf pertama nama file dan ekstensi .txt.
Contoh berikut menggunakan pola wildcard rentang yang mengecualikan huruf "d" tetapi menyertakan semua huruf lain dari "a" hingga "f."
Get-ChildItem C:\techdocs\[a-cef]\*.txt
Menangani Karakter Literal dalam Pola Wildcard
Jika pola kartubebas yang Anda tentukan berisi karakter harfiah yang tidak boleh ditafsirkan sebagai karakter kartubebas, gunakan karakter backtick (`) sebagai karakter escape. Saat Anda menentukan karakter harfiah dalam API PowerShell, gunakan satu backtick. Saat Anda menentukan karakter harfiah di prompt perintah PowerShell, gunakan dua backtick.
Misalnya, pola berikut berisi dua tanda kurung yang harus diambil secara harfiah.
Saat digunakan dalam PowerShell API, gunakan:
- "John Smith '[*']"
Saat digunakan dari prompt perintah PowerShell:
- "John Smith ''[*'']"
Pola ini cocok dengan "John Smith [Marketing]" atau "John Smith [Development]". Contohnya:
PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True
PS> "John Smith [Development]" -like "John Smith ``[*``]"
True
Output Cmdlet dan Karakter KartuBebas
Ketika parameter cmdlet mendukung karakter kartubebas, operasi biasanya menghasilkan output array.
Terkadang, tidak masuk akal untuk mendukung output array karena pengguna mungkin hanya menggunakan satu item. Misalnya, cmdlet Set-Location tidak mendukung output array karena pengguna hanya mengatur satu lokasi. Dalam hal ini, cmdlet masih mendukung karakter kartubebas, tetapi memaksa resolusi ke satu lokasi.