ตัวแบ่ง PowerShell | ตัวอย่างที่เป็นประโยชน์ 8 อันดับแรกของคำสั่ง PowerShell Break
คำสั่ง PowerShell Break คืออะไร
คำสั่งแบ่งใน PowerShell ใช้เพื่อยุติการวนซ้ำ เมื่อคำสั่งแบ่งถูกดำเนินการภายในวงใน มันจะยุติการดำเนินการของวงนั้น และเมื่อถูกวางไว้ในวงรอบนอก มันจะยุติวงทั้งหมด รวมถึงวงลูกด้วย
คำสั่งแบ่งใช้กับคำสั่ง Foreach, For, While, Do-While และคำสั่ง Switch เมื่อใช้คำสั่งแบ่งกับป้ายกำกับ PowerShell จะออกจากลูปป้ายกำกับแทนที่จะออกจากลูปปัจจุบัน
ไวยากรณ์:
หากต้องการใช้คำสั่ง break เพียงเขียน BREAK ลงในลูป ไม่คำนึงถึงขนาดตัวพิมพ์ คุณยังสามารถใช้ BREAK กับป้ายกำกับได้
:myLabel while (<condition>) { <statement list>}ผังงานของคำสั่งแบ่ง PowerShell
ด้านล่างนี้คือผังงานของ PowerShell Break:
1. แบ่งคำสั่งในวงใน
คำอธิบาย: ในแผนภาพด้านบน เมื่อโปรแกรมเริ่มดำเนินการและตรวจสอบเงื่อนไขในวงรอบนอก และถ้าเป็นไปตามที่พอใจ โปรแกรมจะเข้าสู่วงใน หากคำสั่ง break ถูกดำเนินการ มันจะยุติลูปด้านในและข้ามไปยังลูปด้านนอกโดยตรง ดังที่ได้กล่าวไว้ในแผนภาพด้านบน
2. แบ่งคำสั่งในวงนอก
คำอธิบาย: ดังที่แสดงในแผนภาพด้านบน เมื่อวงนอกดำเนินการ มันจะเข้าสู่วงในและยังกล่าวถึงเงื่อนไขการแตกหักในวงรอบนอกด้วย เมื่อดำเนินการแล้ว มันจะยุติทั้งลูปด้านในและด้านนอก
ตัวอย่างของ PowerShell Break
ด้านล่างนี้เป็นตัวอย่างของคำสั่ง PowerShell Break:
ตัวอย่างที่ 1 - แตกด้วย While Loop
รหัส:
$i=1
While($i -lt 10){
Write-Output "i = $i"
if($i -eq 5){
Write-Output "Break Statement executed"
break
}
$i++
}เอาต์พุต:
ในตัวอย่างข้างต้น เมื่อค่าของ $i ถึง 5 จะดำเนินการคำสั่ง break และการวนซ้ำจะสิ้นสุดลง ดังนั้นเอาต์พุตที่นี่จะไม่เกิน 5
ตัวอย่างที่ 2 - แตกด้วย For Loop
รหัส:
คำสั่ง Break สามารถใช้กับ For loop ได้
for($i=1;$i -lt 10 ; $i++){
Write-Output "i = $i"
if($i -eq 5){
Write-Output "Break Statement executed"
Break
}
}เอาต์พุต:
ตัวอย่างที่ 3 - ทำลายด้วย Do-While Loop
ตัวอย่างข้างต้นเหมือนกันกับ Do-While loop
รหัส:
$i = 1
do {
Write-Output "i = $i"
if($i -eq 5){
Write-Output "Break statement executed"
Break
}
$i++
} while ($i -lt 10)เอาต์พุต:
ตัวอย่าง #4 - คำสั่งแบ่งในวงใน
รหัส:
$i = 1
while($i -lt 3){
Write-Output "i = $i"
$j = 1
while ($j -lt 5 ) {
Write-Output "j = $j"
if($j -eq 2){
Write-Output "Break Command Executed"
Break
}
$j++
}
$i++
Write-Output "`n------------------------`n"
}เอาต์พุต:
คำอธิบาย: ในตัวอย่างข้างต้น เมื่อใดก็ตามที่ค่า $j ถึง 3 มันจะยุติลูปปัจจุบัน และการดำเนินการจะย้ายไปยังลูปพาเรนต์ ดังนั้นคำสั่ง Break จะถูกดำเนินการสองครั้งตามเงื่อนไข
ตัวอย่าง #5 - คำสั่งแบ่งในวงนอก
รหัส:
$i = 1
while($i -lt 5){
Write-Output "i = $i"
$j = 1
while ($j -lt 3 ) {
Write-Output "j = $j"
$j++
}
if($i -eq 2){
Write-Output "Break statement executed"
Break
}
$i++
Write-Output "`n------------------------`n"
}เอาต์พุต:
คำอธิบาย: ในตัวอย่างข้างต้น คำสั่ง Break อยู่ในลูปด้านนอกหลัก ดังนั้นเมื่อค่าของ $i ถึง 2 สคริปต์จะยุติทั้งสองลูป
ตัวอย่างที่ 6 - ทำลายคำสั่งด้วย Foreach Loop
รหัส:
foreach($item in (Get-ChildItem D:\Temp -Recurse)){
$item | Select Name, Length
if($item.Name -eq "Style.css"){
Write-Output "Break command exectuted"
Break
}
}เอาต์พุต:
ในตัวอย่างข้างต้น สคริปต์จะดึงเนื้อหาภายในไดเร็กทอรี และเมื่อชื่อค่าเท่ากับ “Style.css ” ก็จะออกจากการวนซ้ำ
ตัวอย่างที่ 7 - แยกคำสั่งด้วยสวิตช์
รหัส:
Switch (3,5){
1 {"This is One"}
2 {"This is Two"}
3 {"This is Three"; Break}
4 {"This is Four"}
5 {"This is Five"; Break}
}เอาต์พุต:
คำอธิบาย: สคริปต์ออกจากลูปสวิตช์เมื่ออาร์กิวเมนต์ทั้งสองอยู่ในคำสั่ง Switch และเมื่ออาร์กิวเมนต์แรกตรงตามเงื่อนไขของคำสั่ง Break ดังนั้นจึงแสดงเอาต์พุตเดียวเท่านั้น
ตัวอย่างที่ 8 - ทำลายด้วยป้ายกำกับ
รหัส:
เมื่อกล่าวถึงคำสั่งแบ่งด้วยป้ายกำกับ PowerShell จะออกไปยังป้ายกำกับแทนที่จะออกจากลูปปัจจุบัน
$i = 1
while ($i -lt 10) {
Write-Output "i = $i"
if($i -eq 5){
Write-Output "Break statement executed"
Break :mylable
}
$i++
}
Write-Output "Entering to another loop"
$j = 1
:mylable while($j -lt 3){
Write-Output "j = $j"
$j++
}เอาต์พุต:
คำอธิบาย: ในตัวอย่างข้างต้น เมื่อคำสั่ง break ถูกดำเนินการด้วยป้ายกำกับ คำสั่งจะข้ามลูปปัจจุบันและย้ายไปยังลูปที่มีป้ายกำกับ
บทสรุป
คำสั่ง break ช่วยยุติการวนซ้ำเมื่อการวนซ้ำดำเนินการอย่างไม่สิ้นสุด มีความแตกต่างที่สำคัญระหว่างการหยุดและดำเนินการต่อ Break ออกจากลูปในขณะที่คำสั่ง Continue ข้ามการวนซ้ำปัจจุบัน










