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.
Deskripsi singkat
Menjelaskan operator yang didukung oleh PowerShell.
Deskripsi panjang
Operator adalah elemen bahasa yang dapat Anda gunakan dalam perintah atau ekspresi. PowerShell mendukung beberapa jenis operator untuk membantu Anda memanipulasi nilai.
Operasi Aritmatika
Gunakan operator aritmatika (, , , , ) untuk menghitung nilai dalam perintah atau ekspresi. Dengan operator ini, Anda dapat menambahkan, mengurangi, mengalikan, atau membagi nilai, dan menghitung sisa (modulus) operasi pembagian.
Operator penambahan menggabungkan elemen. Operator perkalian mengembalikan jumlah salinan yang ditentukan dari setiap elemen. Anda dapat menggunakan operator aritmatika pada jenis .NET apa pun yang mengimplementasikannya, seperti: Int, String, DateTime, Hashtable, dan Array.
Operator bitwise (, , , , , ) memanipulasi pola bit dalam nilai.
Untuk informasi selengkapnya, lihat about_Arithmetic_Operators.
Operator Penugasan
Gunakan operator penugasan (, , , , , ) untuk menetapkan, mengubah, atau menambahkan nilai ke variabel. Anda dapat menggabungkan operator aritmatika dengan penugasan untuk menetapkan hasil operasi aritmatika ke variabel.
Untuk informasi selengkapnya, lihat about_Assignment_Operators.
Operator perbandingan
Gunakan operator perbandingan (, , , , , ) untuk membandingkan nilai dan kondisi pengujian. Misalnya, Anda dapat membandingkan dua nilai string untuk menentukan apakah nilai tersebut sama.
Operator perbandingan juga menyertakan operator yang menemukan atau mengganti pola dalam teks. Operator (, , ) menggunakan ekspresi reguler, dan (, ) menggunakan kartubebas seperti dan .
Operator perbandingan penahanan menentukan apakah nilai pengujian muncul dalam set referensi (, , , ).
Operator perbandingan jenis (, ) menentukan apakah objek adalah jenis tertentu.
Untuk informasi selengkapnya, lihat about_Comparison_Operators.
Operator logis
Gunakan operator logis (, , , , ) untuk menyambungkan pernyataan kondisional ke dalam satu kondisional yang kompleks. Misalnya, Anda dapat menggunakan operator logis untuk membuat filter objek dengan dua kondisi yang berbeda.
Untuk informasi selengkapnya, lihat about_Logical_Operators.
Operator pengalihan
Gunakan operator pengalihan (, , , , dan ) untuk mengirim output perintah atau ekspresi ke file teks. Operator pengalihan berfungsi seperti cmdlet (tanpa parameter) tetapi juga memungkinkan Anda mengalihkan output kesalahan ke file yang ditentukan. Anda juga dapat menggunakan cmdlet untuk mengalihkan output.
Untuk informasi selengkapnya, lihat about_Redirection
Operator pisahkan dan gabung
Operator dan membagi dan menggabungkan substring. Operator membagi string menjadi substring. Operator menggabungkan beberapa string ke dalam satu string.
Untuk informasi selengkapnya, lihat about_Split dan about_Join.
Operator jenis
Gunakan operator jenis (-is, -isnot, -as) untuk menemukan atau mengubah jenis .NET objek.
Untuk informasi selengkapnya, lihat about_Type_Operators.
Operator Tunggal
Gunakan operator dan unary untuk menaikkan atau menurunkan nilai dan untuk negasi. Misalnya, untuk menaikkan variabel dari ke , Anda mengetik .
Untuk informasi selengkapnya, lihat about_Arithmetic_Operators.
Operator khusus
Operator khusus memiliki kasus penggunaan khusus yang tidak sesuai dengan grup operator lain. Misalnya, operator khusus memungkinkan Anda menjalankan perintah, mengubah jenis data nilai, atau mengambil elemen dari array.
operator pengelompokan
Seperti dalam bahasa lain, berfungsi untuk mengambil alih prioritas operator dalam ekspresi. Misalnya:
Namun, di PowerShell, ada perilaku tambahan.
Mengelompokkan ekspresi hasil
memungkinkan Anda untuk membiarkan output dari perintah berpartisipasi dalam ekspresi. Contohnya:
PS> (Get-Item *.txt).Count -gt 10
True
Piping ekspresi yang dikelompokkan
Saat digunakan sebagai segmen pertama dari alur, membungkus perintah atau ekspresi dalam tanda kurung selalu menyebabkan enumerasi hasil ekspresi. Jika tanda kurung membungkus perintah, perintah dijalankan ke penyelesaian dengan semua output yang dikumpulkan dalam memori sebelum hasil dikirim melalui alur.
Mengelompokkan ekspresi sebelum pipa juga memastikan bahwa pemrosesan objek demi objek berikutnya tidak dapat mengganggu enumerasi yang digunakan perintah untuk menghasilkan outputnya.
Mengelompokkan pernyataan penetapan
Pernyataan penetapan yang tidak dikeroyong tidak menghasilkan nilai. Saat mengelompokkan pernyataan penetapan, nilai variabel yang ditetapkan diteruskan dan dapat digunakan dalam ekspresi yang lebih besar. Contohnya:
PS> ($var = 1 + 2)
3
PS> ($var = 1 + 2) -eq 3
True
Membungkus pernyataan dalam tanda kurung mengubahnya menjadi ekspresi yang menghasilkan nilai .
Perilaku ini berlaku untuk semua operator penugasan, termasuk operator gabungan seperti , dan kenaikan () dan pengurangan () operator. Namun, urutan operasi untuk kenaikan dan penurunan tergantung pada posisi mereka.
PS> $i = 0
PS> (++$i) # prefix
1
PS> $i = 0
PS> ($i++) # postfix
0
PS> $i
1
Dalam kasus awalan, nilai bertahap sebelum output. Dalam kasus postfix, nilai ditambahkan setelah output.
Anda juga dapat menggunakan teknik ini dalam konteks pernyataan kondisi, seperti pernyataan .
if ($textFiles = Get-ChildItem *.txt) {
$textFiles.Count
}
Dalam contoh ini, jika tidak ada file yang cocok, perintah tidak mengembalikan apa pun dan tidak menetapkan apa pun untuk , yang dianggap dalam konteks boolean. Jika satu atau beberapa objek FileInfo ditetapkan ke , kondisional dievaluasi ke . Anda dapat bekerja dengan nilai dalam isi pernyataan .
Note
Meskipun teknik ini nyaman dan ringkas, teknik ini dapat menyebabkan kebingungan antara operator penugasan () dan operator perbandingan kesetaraan ().
operator subekspresi
Mengembalikan hasil dari satu atau beberapa pernyataan. Untuk satu hasil, mengembalikan skalar. Untuk beberapa hasil, mengembalikan array. Gunakan ini saat Anda ingin menggunakan ekspresi dalam ekspresi lain. Misalnya, untuk menyematkan hasil perintah dalam ekspresi string.
PS> "Today is $(Get-Date)"
Today is 12/02/2019 13:15:20
PS> "Folder list: $((dir C:\ -Dir).Name -join ', ')"
Folder list: Program Files, Program Files (x86), Users, Windows
Operator subekspresi array
Mengembalikan hasil dari satu atau beberapa pernyataan sebagai array. Hasilnya selalu merupakan array dari 0 objek atau lebih.
PS> $list = @(Get-Process | Select-Object -First 10; Get-Service | Select-Object -First 10 )
PS> $list.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
PS> $list.Count
20
PS> $list = @(Get-Service | Where-Object Status -EQ Starting )
PS> $list.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
PS> $list.Count
0
Sintaksis literal tabel hash
Mirip dengan subekspresi array, sintaks ini digunakan untuk mendeklarasikan tabel hash. Untuk informasi selengkapnya, lihat about_Hash_Tables.
Operator panggilan
Menjalankan perintah, skrip, atau blokir skrip. Operator panggilan, juga dikenal sebagai operator pemanggilan, memungkinkan Anda menjalankan perintah yang disimpan dalam variabel dan diwakili oleh string atau blok skrip. Operator panggilan dijalankan dalam cakupan anak. Untuk informasi selengkapnya tentang cakupan, lihat about_Scopes. Anda dapat menggunakan ini untuk membangun string yang berisi perintah, parameter, dan argumen yang Anda butuhkan, lalu memanggil string seolah-olah itu adalah perintah. String yang Anda buat harus mengikuti aturan penguraian yang sama dengan perintah yang Anda ketik di baris perintah. Untuk informasi selengkapnya, lihat about_Parsing.
Contoh ini menyimpan perintah dalam string dan menjalankannya menggunakan operator panggilan.
PS> $c = "Get-ExecutionPolicy"
PS> $c
Get-ExecutionPolicy
PS> & $c
AllSigned
Operator panggilan tidak mengurai string. Ini berarti Anda tidak dapat menggunakan parameter perintah dalam string saat Anda menggunakan operator panggilan.
PS> $c = "Get-Service -Name Spooler"
PS> $c
Get-Service -Name Spooler
PS> & $c
& : The term 'Get-Service -Name Spooler' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and
try again.
Cmdlet Invoke-Expression dapat menjalankan kode yang menyebabkan kesalahan penguraian saat menggunakan operator panggilan.
PS> & "1+1"
&: The term '1+1' is not recognized as a name of a cmdlet, function, script
file, or executable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
PS> Invoke-Expression "1+1"
2
Anda dapat menjalankan skrip menggunakan nama filenya. File skrip harus memiliki ekstensi file agar dapat dieksekusi. File yang memiliki spasi di jalurnya harus diapit dalam tanda kutip. Jika Anda mencoba menjalankan jalur yang dikutip, PowerShell menampilkan konten string yang dikutip alih-alih menjalankan skrip. Operator panggilan memungkinkan Anda menjalankan konten string yang berisi nama file.
PS C:\Scripts> Get-ChildItem
Directory: C:\Scripts
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 8/28/2018 1:36 PM 58 script name with spaces.ps1
PS C:\Scripts> ".\script name with spaces.ps1"
.\script name with spaces.ps1
PS C:\Scripts> & ".\script name with spaces.ps1"
Hello World!
Untuk informasi selengkapnya tentang blokir skrip, lihat about_Script_Blocks.
operator latar belakang
Menjalankan alur sebelum di latar belakang, dalam pekerjaan PowerShell. Operator ini bertindak serupa dengan ampersand operator kontrol Unix (), yang menjalankan perintah sebelum secara asinkron di subshell sebagai pekerjaan.
Operator ini secara fungsional setara dengan . Secara default, operator latar belakang memulai pekerjaan di direktori kerja pemanggil saat ini yang memulai tugas paralel. Contoh berikut menunjukkan penggunaan dasar operator pekerjaan latar belakang.
Get-Process -Name pwsh &
Perintah tersebut secara fungsional setara dengan penggunaan berikut:
Start-Job -ScriptBlock {Get-Process -Name pwsh}
Sama seperti , operator latar belakang mengembalikan objek . Objek ini dapat digunakan dengan dan , seolah-olah Anda telah menggunakan untuk memulai pekerjaan.
$job = Get-Process -Name pwsh &
Receive-Job $job -Wait
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 0.00 221.16 25.90 6988 988 pwsh
0 0.00 140.12 29.87 14845 845 pwsh
0 0.00 85.51 0.91 19639 988 pwsh
Remove-Job $job
Operator latar belakang juga merupakan terminator pernyataan, sama seperti ampersand operator kontrol Unix (). Ini memungkinkan Anda untuk memanggil perintah tambahan setelah operator latar belakang . Contoh berikut menunjukkan pemanggilan perintah tambahan setelah operator latar belakang .
$job = Get-Process -Name pwsh & Receive-Job $job -Wait
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 0.00 221.16 25.90 6988 988 pwsh
0 0.00 140.12 29.87 14845 845 pwsh
0 0.00 85.51 0.91 19639 988 pwsh
Ini setara dengan skrip berikut:
$job = Start-Job -ScriptBlock {Get-Process -Name pwsh}
Receive-Job $job -Wait
Jika Anda ingin menjalankan beberapa perintah, masing-masing dalam proses latar belakangnya sendiri tetapi semuanya pada satu baris, cukup tempatkan antara dan setelah setiap perintah.
Get-Process -Name pwsh & Get-Service -Name BITS & Get-CimInstance -ClassName Win32_ComputerSystem &
Untuk informasi selengkapnya tentang pekerjaan PowerShell, lihat about_Jobs.
Operator cast
Mengonversi atau membatasi objek ke jenis yang ditentukan. Jika objek tidak dapat dikonversi, PowerShell menghasilkan kesalahan.
[datetime] '2/20/88' - [datetime] '1/20/88' -eq [timespan] '31'
Cast juga dapat dilakukan saat variabel ditetapkan untuk menggunakan notasi cast.
operator koma
Sebagai operator biner, koma membuat array atau menambahkan ke array yang sedang dibuat. Dalam mode ekspresi, sebagai operator unary, koma membuat array hanya dengan satu anggota. Tempatkan koma sebelum anggota.
$myArray = 1,2,3
$SingleArray = ,1
Write-Output (,1)
Karena mengharapkan argumen, Anda harus meletakkan ekspresi dalam tanda kurung.
Operator sumber titik
Menjalankan skrip dalam cakupan saat ini sehingga fungsi, alias, dan variabel apa pun yang dibuat skrip ditambahkan ke cakupan saat ini, menimpa yang ada. Parameter yang dideklarasikan oleh skrip menjadi variabel. Parameter yang tidak ada nilai yang diberikan menjadi variabel tanpa nilai. Namun, variabel otomatis dipertahankan.
. C:\scripts\sample.ps1 1 2 -Also:3
Note
Operator sumber titik diikuti oleh spasi. Gunakan ruang untuk membedakan titik dari simbol titik () yang mewakili direktori saat ini.
Dalam contoh berikut, skrip Sample.ps1 di direktori saat ini dijalankan dalam cakupan saat ini.
. .\sample.ps1
Operator format
Menyediakan akses ke fitur pemformatan komposit .NET. String format komposit terdiri dari teks tetap yang diindeks dengan tempat penampung terindeks, yang disebut item format. Item format ini sesuai dengan objek dalam daftar.
Setiap item format mengambil formulir berikut dan terdiri dari komponen berikut:
{index[,alignment][:formatString]}
Kurung kurawal pencocokan ( dan ) diperlukan.
Operasi pemformatan menghasilkan string hasil yang terdiri dari teks tetap asli yang diintermiks dengan representasi string objek dalam daftar. Untuk informasi selengkapnya, lihat Pemformatan Komposit.
Masukkan string format komposit di sisi kiri operator dan objek yang akan diformat di sisi kanan operator.
"{0} {1,-10} {2:N}" -f 1,"hello",[Math]::PI
1 hello 3.14
Anda dapat melakukan zero-pad nilai numerik dengan penentu kustom "0". Jumlah nol setelah menunjukkan lebar maksimum untuk menyatukan string yang diformat.
"{0:00} {1:000} {2:000000}" -f 7, 24, 365
07 024 000365
Jika Anda perlu menyimpan kurung kurawal () dalam string yang diformat, Anda dapat melepaskannya dengan menggandakan kurung kurawal.
"{0} vs. {{0}}" -f 'foo'
foo vs. {0}
operator indeks
Memilih objek dari koleksi terindeks, seperti array dan tabel hash. Indeks array berbasis nol, sehingga objek pertama diindeks sebagai . Anda juga dapat menggunakan indeks negatif untuk mendapatkan nilai terakhir. Tabel hash diindeks oleh nilai kunci.
Mengingat daftar indeks, operator indeks mengembalikan daftar anggota yang sesuai dengan indeks tersebut.
PS> $a = 1, 2, 3
PS> $a[0]
1
PS> $a[-1]
3
PS> $a[2, 1, 0]
3
2
1
(Get-HotFix | Sort-Object InstalledOn)[-1]
$h = @{key="value"; name="PowerShell"; version="2.0"}
$h["name"]
PowerShell
$x = [xml]"<doc><intro>Once upon a time...</intro></doc>"
$x["doc"]
intro
-----
Once upon a time...
Saat objek bukan koleksi terindeks, menggunakan operator indeks untuk mengakses elemen pertama mengembalikan objek itu sendiri. Nilai indeks di luar elemen pertama mengembalikan .
PS> (2)[0]
2
PS> (2)[-1]
2
PS> (2)[1] -eq $null
True
PS> (2)[0,0] -eq $null
True
operator alur
Mengirim ("pipa") output perintah yang mendahuluinya ke perintah yang mengikutinya. Ketika output menyertakan lebih dari satu objek ("koleksi"), operator alur mengirim objek satu per satu.
Get-Process | Get-Member
Get-Service | Where-Object {$_.StartType -eq 'Automatic'}
Operator rantai alur dan
Jalankan alur sisi kanan secara kondisional berdasarkan keberhasilan alur sisi kiri.
# If Get-Process successfully finds a process called notepad,
# Stop-Process -Name notepad is called
Get-Process notepad && Stop-Process -Name notepad
# If npm install fails, the node_modules directory is removed
npm install || Remove-Item -Recurse ./node_modules
Untuk informasi selengkapnya, lihat About_Pipeline_Chain_Operators.
operator rentang
Operator rentang dapat digunakan untuk mewakili array bilangan bulat atau karakter berurutan. Nilai yang digabungkan oleh operator rentang menentukan nilai awal dan akhir rentang.
Note
Dukungan untuk rentang karakter ditambahkan di PowerShell 6.
Rentang angka
1..10
$max = 10
foreach ($a in 1..$max) {Write-Host $a}
Anda juga dapat membuat rentang dalam urutan terbalik.
10..1
5..-5 | ForEach-Object {Write-Output $_}
Nilai awal dan akhir rentang dapat berupa sepasang ekspresi apa pun yang dievaluasi ke bilangan bulat atau karakter. Titik akhir rentang harus dapat dikonversi ke bilangan bulat 32-bit yang ditandatangani (). Nilai yang lebih besar menyebabkan kesalahan. Selain itu, jika rentang diambil dalam array, ukuran array yang dihasilkan terbatas pada . Ini adalah ukuran maksimum array dalam .NET.
Misalnya, Anda dapat menggunakan anggota enumerasi untuk nilai awal dan akhir Anda.
PS> enum Food {
Apple
Banana = 3
Kiwi = 10
}
PS> [Food]::Apple..[Food]::Kiwi
0
1
2
3
4
5
6
7
8
9
10
Important
Rentang yang dihasilkan tidak terbatas pada nilai enumerasi. Sebaliknya mewakili rentang nilai antara dua nilai yang disediakan. Anda tidak dapat menggunakan operator rentang untuk mewakili anggota enumerasi dengan andal.
Rentang karakter
Untuk membuat rentang karakter, sertakan karakter dalam tanda kutip.
PS> 'a'..'f'
a
b
c
d
e
f
PS> 'F'..'A'
F
E
D
C
B
A
Jika Anda menetapkan rentang karakter ke string, rentang karakter diperlakukan sama dengan menetapkan array karakter ke string.
PS> [string]$s = 'a'..'e'
$s
a b c d e
$a = 'a', 'b', 'c', 'd', 'e'
$a
a b c d e
Karakter dalam array digabungkan ke dalam string. Karakter dipisahkan oleh nilai variabel preferensi . Untuk informasi selengkapnya, lihat about_Preference_Variables.
Urutan karakter dalam array ditentukan oleh nilai ASCII karakter. Misalnya, nilai ASCII dan masing-masing adalah 99 dan 88. Rentang itu akan disajikan dalam urutan terbalik.
PS> 'c'..'X'
c
b
a
`
_
^
]
\
[
Z
Y
X
operator akses anggota
Mengakses properti dan metode objek. Nama anggota mungkin merupakan ekspresi.
$myProcess.PeakWorkingSet
(Get-Process powershell).Kill()
'OS', 'Platform' | ForEach-Object { $PSVersionTable. $_ }
Memulai PowerShell 3.0, saat Anda menggunakan operator pada objek kumpulan daftar yang tidak memiliki anggota, PowerShell secara otomatis menghitung item dalam koleksi tersebut dan menggunakan operator pada masing-masingnya. Untuk informasi selengkapnya, lihat Access_Enumeration about_Member.
Saat Anda menggunakan operator akses anggota untuk membaca properti yang tidak ada, atau ketika metode getter properti melemparkan pengecualian, PowerShell mengembalikan alih-alih melempar kesalahan. Perilaku ini khusus untuk akses properti. Perilaku ini mengikuti aturan CA .NET CA1065 yang menyatakan:
Properti pada dasarnya adalah bidang pintar. Oleh karena itu, mereka harus berulah seperti lapangan sebanyak mungkin. Bidang tidak melemparkan pengecualian dan tidak seharusnya properti. Jika Anda memiliki properti yang melempar pengecualian, pertimbangkan untuk menjadikannya metode .
Pengecualian yang dilemparkan oleh pemanggilan metode (termasuk memanggil metode yang mendasar secara langsung) tidak ditekan.
operator anggota statis
Memanggil properti statis dan metode kelas .NET. Untuk menemukan properti statis dan metode objek, gunakan parameter Statis cmdlet . Nama anggota mungkin merupakan ekspresi.
[datetime]::Now
'MinValue', 'MaxValue' | ForEach-Object { [int]:: $_ }
operator ternary
Anda dapat menggunakan operator ternary sebagai pengganti pernyataan dalam kasus bersyarat sederhana.
Untuk informasi selengkapnya, lihat about_If.
Operator null-coalescing
Operator null-coalescing mengembalikan nilai operand sebelah kirinya jika bukan null. Jika tidak, itu mengevaluasi operand tangan kanan dan mengembalikan hasilnya. Operator tidak mengevaluasi operand tangan kanannya jika operand sebelah kiri mengevaluasi ke non-null.
$x = $null
$x ?? 100
100
Dalam contoh berikut, operand sebelah kanan tidak akan dievaluasi.
[string] $todaysDate = '1/10/2020'
$todaysDate ?? (Get-Date).ToShortDateString()
1/10/2020
Operator penugasan null-coalescing
Operator penugasan null-coalescing menetapkan nilai operand tangan kanannya ke operand sebelah kirinya hanya jika operand sebelah kiri mengevaluasi ke null. Operator tidak mengevaluasi operand tangan kanannya jika operand sebelah kiri mengevaluasi ke non-null.
$x = $null
$x ??= 100
$x
100
Dalam contoh berikut, operand sebelah kanan tidak akan dievaluasi.
[string] $todaysDate = '1/10/2020'
$todaysDate ??= (Get-Date).ToShortDateString()
$todaysDate
1/10/2020
Operator berskalasi null dan
Note
Fitur ini dipindahkan dari eksperimental ke mainstream di PowerShell 7.1.
Operator null-conditional menerapkan akses anggota, , atau akses elemen, , operasi ke operand-nya hanya jika operand tersebut mengevaluasi ke non-null; jika tidak, itu mengembalikan null.
Karena PowerShell memungkinkan menjadi bagian dari nama variabel, spesifikasi formal dari nama variabel diperlukan untuk menggunakan operator ini. Anda harus menggunakan kurung kurawal () di sekitar nama variabel seperti atau ketika adalah bagian dari nama variabel .
Note
Sintaks nama variabel tidak boleh dikacaukan dengan operator subekspresi . Untuk informasi selengkapnya, lihat Bagian nama variabel about_Variables.
Dalam contoh berikut, nilai PropName dikembalikan.
$a = @{ PropName = 100 }
${a}?.PropName
100
Contoh berikut mengembalikan null tanpa mencoba mengakses nama anggota PropName.
$a = $null
${a}?.PropName
Dalam contoh ini, nilai elemen terindeks dikembalikan.
$a = 1..10
${a}?[0]
1
Contoh berikut mengembalikan null tanpa mencoba mengakses elemen terindeks.
$a = $null
${a}?[0]
Lihat juga
- about_Arithmetic_Operators
- about_Assignment_Operators
- about_Comparison_Operators
- about_Logical_Operators
- about_Operator_Precedence
- about_Member-Access_Enumeration
- about_Type_Operators
- about_Split
- about_Join
- about_Redirection