about_Special_Characters
Deskripsi singkat
Menjelaskan urutan karakter khusus yang mengontrol bagaimana PowerShell menginterpretasikan karakter berikutnya dalam urutan.
Deskripsi panjang
PowerShell mendukung serangkaian urutan karakter khusus yang digunakan untuk mewakili karakter yang bukan bagian dari kumpulan karakter standar. Urutan umumnya dikenal sebagai urutan escape.
Urutan escape dimulai dengan karakter backtick, yang dikenal sebagai aksen kuburan (ASCII 96), dan peka huruf besar/kecil. Karakter backtick juga dapat disebut sebagai karakter escape.
Urutan escape hanya ditafsirkan ketika terkandung dalam string kutipan ganda ("
).
PowerShell mengenali urutan escape ini:
Sequence | Deskripsi |
---|---|
`0 |
Null |
`a |
Peringatan |
`b |
Backspace |
`e |
Escape (ditambahkan di PowerShell 6) |
`f |
Umpan formulir |
`n |
Baris baru |
`r |
Carriage return |
`t |
Tab horizontal |
`u{x} |
Urutan escape Unicode (ditambahkan di PowerShell 6) |
`v |
Tab Vertikal |
PowerShell juga memiliki token khusus untuk menandai di mana Anda ingin penguraian berhenti. Semua karakter yang mengikuti token ini digunakan sebagai nilai harfiah yang tidak ditafsirkan.
Token penguraian khusus:
Sequence | Deskripsi |
---|---|
-- |
Perlakukan nilai yang tersisa sebagai argumen bukan parameter |
--% |
Berhenti mengurai apa pun yang mengikuti |
~ |
Tilde |
Null ('0)
Karakter null (`0
) muncul sebagai spasi kosong dalam output PowerShell.
Fungsionalitas ini memungkinkan Anda menggunakan PowerShell untuk membaca dan memproses file teks yang menggunakan karakter null, seperti penghentian string atau indikator penghentian rekaman. Karakter khusus null tidak setara dengan $null
variabel, yang menyimpan nilai null .
Pemberitahuan ('a)
Karakter pemberitahuan (`a
) mengirimkan sinyal bip ke speaker komputer.
Anda dapat menggunakan karakter ini untuk memperingatkan pengguna tentang tindakan yang akan datang. Contoh berikut mengirimkan dua sinyal bip ke speaker komputer lokal.
for ($i = 0; $i -le 1; $i++){"`a"}
Backspace ('b)
Karakter backspace (`b
) memindahkan kursor kembali satu karakter, tetapi tidak menghapus karakter apa pun.
Contoh menulis cadangan kata lalu memindahkan kursor kembali dua kali. Kemudian, pada posisi baru, menulis spasi diikuti dengan kata keluar.
"backup`b`b out"
back out
Escape ('e)
Catatan
Karakter khusus ini ditambahkan di PowerShell 6.0.
Karakter escape (`e
) paling umum digunakan untuk menentukan urutan terminal virtual (urutan escape ANSI) yang memodifikasi warna teks dan atribut teks lainnya seperti tebal dan garis bawah. Urutan ini juga dapat digunakan untuk posisi kursor dan pengguliran. Host PowerShell harus mendukung urutan terminal virtual. Anda dapat memeriksa nilai $Host.UI.SupportsVirtualTerminal
boolean untuk menentukan apakah urutan ANSI ini didukung.
Untuk informasi selengkapnya tentang urutan escape ANSI, lihat artikel kode escape ANSI di Wikipedia.
Contoh berikut menghasilkan teks dengan warna latar depan hijau.
$fgColor = 32 # green
"`e[${fgColor}mGreen text`e[0m"
Green text
Umpan formulir ('f)
Karakter umpan formulir (`f
) adalah instruksi cetak yang mengeluarkan halaman saat ini dan melanjutkan pencetakan pada halaman berikutnya. Karakter umpan formulir hanya memengaruhi dokumen yang dicetak. Ini tidak memengaruhi output layar.
Baris baru ('n)
Karakter baris baru (`n
) menyisipkan pemisah baris segera setelah karakter.
Contoh ini menunjukkan cara menggunakan karakter baris baru untuk membuat hentian baris dalam Write-Host
perintah.
"There are two line breaks to create a blank line`n`nbetween the words."
There are two line breaks to create a blank line
between the words.
Pengembalian pengangkutan ('r)
Karakter pengembalian gerbong (`r
) memindahkan kursor output ke awal baris saat ini dan melanjutkan penulisan. Karakter apa pun pada baris saat ini ditimpa.
Dalam contoh ini, teks sebelum pengembalian pengangkutan ditimpa.
Write-Host "These characters are overwritten.`rI want this text instead "
Perhatikan bahwa teks sebelum `r
karakter tidak dihapus, teks akan ditimpa.
I want this text instead written.
Tab Horizontal (tidak)
Karakter tab horizontal (`t
) maju ke perhentian tab berikutnya dan melanjutkan penulisan pada saat itu. Secara default, konsol PowerShell memiliki perhentian tab di setiap ruang kedelapan.
Contoh ini menyisipkan dua tab di antara setiap kolom.
"Column1`t`tColumn2`t`tColumn3"
Column1 Column2 Column3
Karakter Unicode ('u{x})
Catatan
Karakter khusus ini ditambahkan di PowerShell 6.0.
Urutan escape Unicode (`u{x}
) memungkinkan Anda menentukan karakter Unicode apa pun dengan representasi heksadesimal dari titik kodenya. Ini termasuk karakter Unicode di atas Basic Multilingual Plane (>0xFFFF
) yang mencakup karakter emoji seperti karakter jempol ke atas (`u{1F44D}
). Urutan escape Unicode membutuhkan setidaknya satu digit heksadesimal dan mendukung hingga enam digit heksadesimal. Nilai heksadesimal maksimum untuk urutannya adalah 10FFFF
.
Contoh ini menghasilkan simbol panah bawah atas (↕).
"`u{2195}"
Tab vertikal ('v)
Karakter tab vertikal (`v
) maju ke perhentian tab vertikal berikutnya dan menulis output yang tersisa pada saat itu. Penyajian tab vertikal bergantung pada perangkat dan terminal.
Write-Host "There is a vertical tab`vbetween the words."
Contoh berikut menunjukkan output yang dirender dari tab vertikal di beberapa lingkungan umum.
Aplikasi host Konsol Windows menafsirkan (`v
) sebagai karakter khusus tanpa spasi tambahan yang ditambahkan.
There is a vertical tab♂between the words.
Terminal Windows merender karakter tab vertikal sebagai pengembalian pengangkutan dan umpan garis. Sisa output dicetak di awal baris berikutnya.
There is a vertical tab
between the words.
Pada printer atau di konsol berbasis unix, karakter tab vertikal maju ke baris berikutnya dan menulis output yang tersisa pada saat itu.
There is a vertical tab
between the words.
Kelanjutan baris
Karakter backtick juga dapat digunakan di akhir garis sebagai sinyal ke pengurai PowerShell bahwa perintah berlanjut di baris berikutnya. Untuk informasi selengkapnya, lihat about_Parsing.
Token akhir parameter (--
)
Token akhir parameter (--
) menunjukkan bahwa semua argumen yang mengikutinya akan diteruskan dalam bentuk sebenarnya seolah-olah tanda kutip ganda ditempatkan di sekitarnya. Misalnya, menggunakan --
Anda dapat menghasilkan string -InputObject
tanpa menggunakan tanda kutip atau membuatnya ditafsirkan sebagai parameter:
Write-Output -- -InputObject
-InputObject
Ini adalah konvensi yang ditentukan dalam spesifikasi POSIX Shell dan Utilitas.
Hentikan penguraian token (--%)
Token stop-parsing (--%
) mencegah PowerShell menginterpretasikan string sebagai perintah dan ekspresi PowerShell. Ini memungkinkan string tersebut diteruskan ke program lain untuk interpretasi.
Tempatkan token stop-parsing setelah nama program dan sebelum argumen program yang dapat menyebabkan kesalahan.
Dalam contoh ini, Icacls
perintah menggunakan token stop-parsing.
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F
PowerShell mengirimkan string berikut ke Icacls
.
X:\VMS /grant Dom\HVAdmin:(CI)(OI)F
Dalam contoh kedua ini, kita meneruskan variabel $HOME
ke cmd.exe /c echo
perintah dua kali.
cmd.exe /c echo $HOME --% $HOME
Output menunjukkan bahwa instans $HOME
pertama ditafsirkan oleh PowerShell sehingga nilai variabel diteruskan ke cmd
. Instans $HOME
kedua datang setelah token stop-parsing, sehingga diteruskan sebagai string harfiah.
C:\Users\username $HOME
Untuk informasi selengkapnya tentang token stop-parsing, lihat about_Parsing.
Tilde (~)
Karakter tilde (~
) memiliki arti khusus dalam PowerShell. Saat digunakan dengan perintah PowerShell di awal jalur, PowerShell memperluas karakter tilde ke direktori beranda pengguna. Jika Anda menggunakan karakter tilde di tempat lain di jalur, karakter tersebut diperlakukan sebagai karakter harfiah.
Untuk informasi selengkapnya tentang token stop-parsing, lihat about_Parsing.