Write-Host
Menulis output yang disesuaikan ke host.
Sintaks
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Deskripsi
Tujuan utama cmdlet Write-Host
adalah untuk menghasilkan output khusus tampilan for-(host),seperti mencetak teks berwarna seperti saat meminta input kepada pengguna bersama dengan Read-Host.
Write-Host
menggunakan metode ToString() untuk menulis output. Sebaliknya, untuk menghasilkan data ke alur, gunakan Write-Output atau output implisit.
Anda dapat menentukan warna teks dengan menggunakan parameter ForegroundColor
, dan Anda dapat menentukan warna latar belakang dengan menggunakan parameter BackgroundColor
. Parameter Pemisah memungkinkan Anda menentukan string yang akan digunakan untuk memisahkan objek yang ditampilkan. Hasil tertentu tergantung pada program yang menghosting PowerShell.
Nota
Mulai Windows PowerShell 5.0, Write-Host
adalah pembungkus untuk Write-Information
Ini memungkinkan Anda menggunakan Write-Host
untuk memancarkan output ke aliran informasi. Ini memungkinkan penangkapan atau penindasan data yang ditulis menggunakan Write-Host
sambil mempertahankan kompatibilitas mundur.
Variabel preferensi $InformationPreference
dan parameter umum InformationAction
tidak memengaruhi pesan Write-Host
. Pengecualian untuk aturan ini -InformationAction Ignore
, yang secara efektif menekan output Write-Host
. (lihat "Contoh 5")
Contoh
Contoh 1: Menulis ke konsol tanpa menambahkan baris baru
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Perintah ini menampilkan string 'tidak ada pengujian baris baru' dengan parameter NoNewline
.
String kedua ditulis, tetapi berakhir pada baris yang sama dengan yang pertama karena tidak adanya baris baru yang memisahkan string.
Contoh 2: Tulis ke konsol dan sertakan pemisah
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Perintah ini menampilkan angka genap dari dua hingga dua belas. Parameter Pemisah digunakan untuk menambahkan , +2=
string (koma, spasi, +
, 2
, =
, spasi).
Contoh 3: Menulis dengan warna teks dan latar belakang yang berbeda
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Perintah ini menampilkan angka genap dari dua hingga dua belas. Ini menggunakan parameter ForegroundColor
untuk menghasilkan teks hijau gelap dan parameter BackgroundColor
untuk menampilkan latar belakang putih.
Contoh 4: Menulis dengan warna teks dan latar belakang yang berbeda
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Perintah ini menampilkan string "Merah pada teks putih." Teks berwarna merah, seperti yang didefinisikan oleh parameter ForegroundColor
. Latar belakang berwarna putih, seperti yang didefinisikan oleh parameter BackgroundColor
.
Contoh 5: Menekan output dari Write-Host
# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null
Perintah ini secara efektif menekan output cmdlet Write-Host
. Yang pertama menggunakan parameter InformationAction
dengan Nilai Ignore
untuk menekan output ke aliran informasi.
Contoh kedua mengalihkan aliran informasi perintah ke variabel $null
dan dengan demikian menekannya. Untuk informasi selengkapnya, lihat about_Output_Streams.
Parameter
-BackgroundColor
Menentukan warna latar belakang. Tidak ada default. Nilai yang dapat diterima untuk parameter ini adalah:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Jenis: | ConsoleColor |
Nilai yang diterima: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ForegroundColor
Menentukan warna teks. Tidak ada default. Nilai yang dapat diterima untuk parameter ini adalah:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Jenis: | ConsoleColor |
Nilai yang diterima: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-NoNewline
Representasi string dari objek input digabungkan untuk membentuk output. Tidak ada spasi atau baris baru yang dimasukkan di antara string output. Tidak ada baris baru yang ditambahkan setelah string output terakhir.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Object
Objek yang akan ditampilkan di host.
Jenis: | Object |
Alias: | Msg, Message |
Position: | 0 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Separator
Menentukan string pemisah untuk menyisipkan antar objek yang ditampilkan oleh host.
Jenis: | Object |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek untuk ditulis ke host ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output. Ini mengirim objek ke host. Host menampilkan objek yang dikirim cmdlet ini ke dalamnya.
Catatan
Saat menulis koleksi ke host, elemen koleksi dicetak pada baris yang sama dipisahkan oleh satu spasi. Ini dapat ditimpa dengan parameter Pemisah.
Jenis data non-primitif seperti objek dengan properti dapat menyebabkan hasil yang tidak terduga dan tidak memberikan output yang bermakna. Misalnya,
Write-Host @{a = 1; b = 2}
akan mencetakSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
ke host.