Write-Host
Menulis output yang disesuaikan ke host.
Sintaks
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Deskripsi
Tujuan Write-Host
utama cmdlet adalah untuk menghasilkan output khusus tampilan-(host) , seperti mencetak teks berwarna seperti saat meminta masukan 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 ForegroundColor
parameter , dan Anda dapat menentukan warna latar belakang dengan menggunakan BackgroundColor
parameter . Parameter Pemisah memungkinkan Anda menentukan string yang akan digunakan untuk memisahkan objek yang ditampilkan. Hasil tertentu tergantung pada program yang menghosting PowerShell.
Catatan
Mulai dari Windows PowerShell 5.0, Write-Host
adalah pembungkus untuk Write-Information
. Ini memungkinkan Anda untuk menggunakan Write-Host
untuk memancarkan output ke aliran informasi. Ini memungkinkan pengambilan atau penindasan data yang ditulis menggunakan Write-Host
sambil mempertahankan kompatibilitas mundur.
Variabel $InformationPreference
preferensi dan InformationAction
parameter umum tidak memengaruhi Write-Host
pesan. Pengecualian untuk aturan ini adalah -InformationAction Ignore
, yang secara efektif menekan Write-Host
output. (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 NoNewline
parameter .
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 string , +2=
(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 ForegroundColor
parameter untuk menghasilkan teks hijau gelap dan BackgroundColor
parameter 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 ForegroundColor
didefinisikan oleh parameter . Latar belakang berwarna putih, seperti yang BackgroundColor
didefinisikan oleh parameter .
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 Write-Host
cmdlet. Yang pertama menggunakan InformationAction
parameter dengan Ignore
Nilai untuk menekan output ke aliran informasi.
Contoh kedua mengalihkan aliran informasi perintah ke $null
variabel 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 dicetakSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
ke host.