ค้นหาเว็บไซต์

ตัวแบ่ง 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 ข้ามการวนซ้ำปัจจุบัน

บทความที่เกี่ยวข้อง