Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

For loop เป็นหนึ่งในเครื่องมือที่มีค่าที่สุดในภาษาโปรแกรมมิ่งใดๆ และ Microsoft PowerShell ไม่ต่างออกไป คุณสามารถใช้ loops อื่นๆ เพื่อทำซ้ำคำสั่งได้ แต For loop น่าจะเป็นวิธีที่ตรงไปตรงมาที่สุด

ตั้งแต่การวนซ้ำผ่าน arrays ไปจนถึงการดำเนินการฟังก์ชันจำนวนครั้งที่กำหนดไว้ล่วงหน้า มีหลายสิ่งที่คุณสามารถทำได้กับเครื่องมือนี้ นี่คือบทช่วยสอนเกี่ยวกับวิธีใช้ For loops ใน PowerShell

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

For Loops ใน PowerShell ใช้ทำอะไร?

ไม่เหมือน Command Prompt PowerShell เป็น scripting environment ที่สมบูรณ์ หมายความว่าคุณสามารถเขียน PowerShell scripts ที่นำกลับมาใช้ซ้ำได้ เพื่อดำเนินการงานโดยอัตโนมัติ แทนที่จะพิมพ์คำสั่งด้วยมือ และ For loops เป็นกุญแจสำคัญในการเขียนโมดูลเหล่านี้

For statement ทำซ้ำ script block จำนวนครั้งที่เฉพาะเจาะจง โดยปรับตัวแปรที่กำหนดเพื่อติดตามความคืบหน้า สิ่งนี้ช่วยให้คุณใช้ loop สำหรับสถานการณ์ที่น่าสนใจบางอย่าง

คุณสามารถสร้างลำดับตัวเลข กำหนดเลขเฉพาะ หรือแสดง countdown timer ได้ ทางปฏิบัติที่มากกว่า คุณสามารถวนซ้ำผ่าน array ของ objects โดยดำเนินการบางอย่างกับแต่ละ entry

Syntax ของ For Loop ใน PowerShell

For loops ทำงานใน Windows PowerShell เหมือนกับในภาษาโปรแกรมมิ่งอื่นๆ Expressions สำหรับการ initialize ตัวแปร tracking, ทดสอบค่า และปรับเปลี่ยนตัวแปร ถูกบรรจุอยู่ในวงเล็บหลัง "For" คั่นด้วย semicolons จากนั้นมาของ statement list เองที่ถูก bound โดย curly braces

For (Initialization; Condition; Update)

{

Script Block

}

วิธีใช้ For Loop ใน PowerShell Script

การใช้ For loop ค่อนข้างง่าย เมื่อใดก็ตามที่คุณพบสถานการณ์ที่ต้องการทำซ้ำขั้นตอนที่เปลี่ยนแปลงเล็กน้อย คุณควรใส่มันลงใน For loop

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

สมมติว่าคุณต้องเขียน code snippet ที่หาผลรวมของ natural numbers ทั้งหมดจนถึงตัวเลข n ที่อยู่ในตัวแปร $n นี่คือตัวอย่าง For loop พื้นฐาน:

$n = 10

$sum = 0

For ($i = 1 ; $i -le $n ; $i++)

{

$sum = $sum + $i

}

"The sum of $n natural numbers is $sum"

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

การเข้าถึง Arrays ผ่าน For Loop

การสร้าง numeric sequences เกือบไม่ใช่สิ่งที่คนส่วนใหญ่ใช้ PowerShell สำหรับ การใช้งานที่พบบ่อยกว่าคือการวนซ้ำผ่าน array

สมมติว่าคุณมี array $week ที่มี 7 elements คุณสามารถแสดงรายการวันที่ใน array ได้โดยใช้ For loop เรียบง่าย ตามตัวอย่างด้านล่าง

For ($i = 0 ; $i -lt $week.Length ; $i++)

{

$week[$i]

}

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

การใช้ ForEach Loop เพื่อวนซ้ำผ่าน Array อย่างรวดเร็ว

รูปแบบอื่นของ For loop คือ ForEach statement รูปแบบนี้ทำให้การวนซ้ำผ่านเนื้อหาของ PowerShell array และประมวลผลแยกกันเป็นเรื่องง่ายขึ้น โค้ดก่อนหน้านี้สามารถเขียนใหม่ได้แบบนี้:

Foreach ($day in $week)

{

$day

}

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

เมื่อจัดการกับ objects ที่ซับซ้อนมากขึ้น คุณยังสามารถใช้ Foreach-Object cmdlet เพื่อดำเนินการบางอย่างบนเนื้อหาของคำสั่ง PowerShell ใดๆ ได้

For Loop แตกต่างจาก Loops ประเภทอื่นอย่างไร?

For loop ไม่ใช่ looping statement ประเภทเดียวที่คุณมี เหมือนภาษาโปรแกรมมิ่งส่วนใหญ่ PowerShell มี loops หลายประเภท

While

ที่ง่ายที่สุดคือ While loop ทั้งหมดที่คุณมีคือ condition และ script block และ loop จะรันตราบใดที่ test expression ประเมินเป็น true เนื่องจาก expression ถูกประเมินก่อน จึงมีโอกาสที่โค้ดจะไม่รันเลย หรือกลายเป็น infinite loop

While (Condition)

{

Script Block

}

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

Do-While

หากคุณกำลังเขียน script ที่ต้องรันอย่างน้อย 1 ครั้ง — แม้ expression จะประเมินเป็น false — คุณสามารถใช้ Do-While loop ความแตกต่างจาก While loop เพียงอย่างเดียวคือ มันวาง command block ก่อน condition ซึ่งหมายความว่าโค้ดถูก execute ก่อนที่ test expression จะถูกตรวจสอบครั้งแรก

Do {

Script block

}

While (Condition)

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

Do-Until

รูปแบบอื่นของ loop นี้คือ Do-Until โดยพื้นฐานมันรัน code block และทำซ้ำจนกว่า test expression จะเป็น true — ย้อนกลับของ Do-While loop โครงสร้างไม่ได้มีประโยชน์มากนัก เนื่องจากคุณสามารถทำสิ่งเดียวกันได้โดยการปรับ condition ใน Do-While loop มาตรฐาน

Do {

Script Block

}

Until (Condition)

เชี่ยวชาญ PowerShell For Loops: รันคำสั่งซ้ำๆ ได้อย่างง่ายดาย

ทำไม For Loop จึงดีกว่า

ปัญหากับ looping structures อื่นๆ ทั้งหมดคือ พวกมันไม่รวม initial value หรือ update statements คุณต้องจดจำด้วยตนเองที่จะสร้างตัวแปรนอก loop และจากนั้น increment (หรือ decrement) มันในทุก pass ของ loop

ตามที่คุณคาดเดา โปรแกรมเมอร์มักลืมขั้นตอนนี้นำไปสู่ script ที่ไม่ทำงานตามที่ตั้งใจ ไม่ได้เปรียบเวลามากในการ debug

For loop หลีกเลี่ยงปัญหานี้โดยบังคับให้ initialization และ increment expressions อยู่ในวงเล็บเริ่มต้น นี่นำไปสู่ scripts ที่สะอาดและ robust มากขึ้น

เมื่อไหร่ควรใช้ For Loop ใน PowerShell?

PowerShell เป็นเรื่องของการสร้าง scripts สำหรับ automation และอาจจะเครื่องมือที่มีประโยชน์ที่สุดสำหรับการบรรลุเป้าหมายนี้คือ For loop คุณสามารถใช้มันแทนการ copy-paste หลายครั้งด้วย script ที่ compact และขลังมากขึ้น

ฟังก์ชันที่พบบ่อยที่สุดของ loop นี้คือการวนซ้ำผ่าน array ทีละ entry สำหรับ script ที่ streamlined มากขึ้น คุณสามารถใช้ ForEach loop ได้เช่นกัน คุณยังสามารถใช้ For loop เพื่อสร้าง numerical sequences ได้ แม้จะนادرาที่จะต้องการ

For loop ชนะ looping algorithms อื่นๆ โดยรวมฟังก्शันสำคัญทั้งหมดของ loop ไว้ใน parameters ป้องกันข้อผิดพลาดจากการลืม statements นั้นๆ ทำให้ For loop กลายเป็น indispensable ในสถานการณ์ใดๆ ที่ต้องการทำซ้ำชุดคำสั่ง