PowerShell: ใช้คำสั่ง Switch ที่มากกว่า/น้อยกว่า
บ่อยครั้งคุณอาจต้องการใช้คำสั่ง switch ใน PowerShell ที่มีเงื่อนไขมากกว่าหรือน้อยกว่าเพื่อส่งกลับค่าเฉพาะตามช่วงตัวเลข
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ได้:
switch($points) {
{$_ -lt 10} { "Bad" }
{$_ -in 10..15 } { "OK" }
{$_ -in 16..20 } { "Good" }
{$_ -gt 20 } { "Great" }
}
ตัวอย่างนี้จะพิจารณาค่าในตัวแปร $points และดำเนินการดังต่อไปนี้:
- ส่งกลับค่า “ไม่ดี” หากคะแนนน้อยกว่า 10
- ส่งกลับค่า “ตกลง” หากคะแนนอยู่ระหว่าง 10 ถึง 15
- ส่งกลับค่า "ดี" หากคะแนนอยู่ระหว่าง 16 ถึง 20
- ส่งคืน "ยอดเยี่ยม" หากคะแนนมากกว่า 20
ด้วยการใช้ตัวดำเนินการ -lt, -in และ -gt เราจะสามารถตรวจสอบได้ว่าตัวเลขที่กำหนดน้อยกว่าในช่วงหรือไม่ หรือมากกว่าค่าเฉพาะตามลำดับ
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้คำสั่ง Switch ที่มากกว่า/น้อยกว่าใน PowerShell
สมมติว่าเรามีตัวแปรชื่อ $points ซึ่งมีจำนวนคะแนนที่นักบาสเกตบอลคนใดคนหนึ่งทำได้
สมมติว่าเราต้องการใช้คำสั่ง switch ใน PowerShell เพื่อจัดประเภทเครื่องเล่นให้เป็นหนึ่งในสี่หมวดหมู่ตามตรรกะต่อไปนี้:
- “แย่” หากพวกเขาได้คะแนนน้อยกว่า 10 คะแนน
- “ตกลง” หากพวกเขาได้คะแนนระหว่าง 10 ถึง 15 คะแนน
- “ดี” หากพวกเขาได้คะแนนระหว่าง 16 ถึง 20 คะแนน
- “ยอดเยี่ยม” หากพวกเขาทำคะแนนได้มากกว่า 20 คะแนน
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$points = 20
switch($points) {
{$_ -lt 10} { "Bad" }
{$_ -in 10..15 } { "OK" }
{$_ -in 16..20 } { "Good" }
{$_ -gt 20 } { "Great" }
}ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
คำสั่ง switch ส่งคืน "Good" เนื่องจากตัวแปร $points มีค่าระหว่าง 16 และ 20.
สมมติว่าเราเปลี่ยนค่าของตัวแปร $points ให้เป็น 7 แทน:
คำสั่ง switch ส่งคืน "Bad" เนื่องจากตัวแปร $points มีค่าน้อยกว่า 10
หมายเหตุ #1: ในตัวอย่างนี้ เราใช้ -lt และ -gt เพื่อทดสอบ “น้อยกว่า” หรือ “มากกว่า” แต่คุณสามารถใช้ -lte และ -gte เพื่อทดสอบคำว่า “น้อยกว่าหรือเท่ากับ” หรือ “มากกว่าหรือเท่ากับ” แทน .
หมายเหตุ #2: คุณสามารถดูเอกสารฉบับสมบูรณ์สำหรับคำสั่ง switch ใน PowerShell ได้ที่นี่

