PowerShell: วิธีใช้ Write-Host ด้วยสีเฉพาะ
คุณสามารถใช้ Write-Host cmdlet ใน PowerShell เพื่อส่งออกข้อความไปยังคอนโซล
หากต้องการควบคุมสีข้อความที่ใช้กับ Write-Host คุณสามารถใช้วิธีต่อไปนี้:
วิธีที่ 1: ระบุหนึ่งสีที่จะใช้กับ Write-Host
Write-Host "This text is in red" -f red
วิธีที่ 2: ระบุหลายสีเพื่อใช้กับ Write-Host
Write-Host "I am red " -f red -nonewline; Write-Host "I am blue " -f blue;
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ระบุหนึ่งสีที่จะใช้กับ Write-Host
สมมติว่าคุณต้องการใช้ cmdlet Write-Host ใน PowerShell เพื่อแสดงข้อความ "สวัสดีทุกคน" บนคอนโซล
สมมติว่าเราใช้ไวยากรณ์ต่อไปนี้:
Write-Host "Hey there everyone"ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
ตามค่าเริ่มต้น สีแบบอักษรของข้อความจะเป็นสีเทา
หากต้องการแสดงข้อความเป็นแบบอักษรสีแดงแทน เราสามารถใช้ไวยากรณ์ต่อไปนี้:
Write-Host "Hey there everyone" -f redภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
โปรดสังเกตว่าขณะนี้ข้อความแสดงโดยใช้แบบอักษรสีแดง เช่นเดียวกับที่เราระบุ
ตัวอย่างที่ 2: ระบุหลายสีเพื่อใช้กับ Write-Host
สมมติว่าคุณต้องการใช้ Write-Host cmdlet เพื่อแสดงข้อความบางส่วนเป็นสีเดียวและอีกส่วนหนึ่งของข้อความเป็นสีอื่น
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
Write-Host "I am red " -f red -nonewline; Write-Host "I am blue " -f blue;ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
โปรดสังเกตว่าส่วนแรกของข้อความจะแสดงโดยใช้แบบอักษรสีแดง ในขณะที่ส่วนหลังของข้อความจะแสดงโดยใช้แบบอักษรสีน้ำเงิน
โบนัส: แสดงรายการสีที่เป็นไปได้ทั้งหมดใน PowerShell
PowerShell ช่วยให้คุณสามารถระบุสีที่แตกต่างกัน 16 สีเพื่อใช้ในคอนโซล
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อแสดงรายการสีทั้งหมดนี้ได้:
[Enum]::GetValues([System.ConsoleColor]) | foreach { Write-Host "$_" -ForegroundColor $_}ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
แต่ละสีจากทั้งหมด 16 สีจะแสดงอยู่ในรายการ
โปรดทราบว่าสีแรกในรายการคือ “สีดำ” ซึ่งไม่สามารถมองเห็นได้เนื่องจากสีพื้นหลังของคอนโซลก็เป็นสีดำเช่นกัน
หมายเหตุ: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับ Write-Host cmdlet ใน PowerShell ได้ที่นี่



