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

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.

Lihat juga