PowerShell For Loop สามารถเรียกใช้คำสั่งได้หลายครั้งอย่างไร


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

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

การใช้ For Loops ใน PowerShell คืออะไร

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

A สำหรับคำสั่งจะทำซ้ำบล็อกสคริปต์ตามจำนวนครั้งที่กำหนด โดยแก้ไขตัวแปรที่กำหนดเพื่อติดตามความคืบหน้า ซึ่งจะทำให้คุณสามารถใช้การวนซ้ำในสถานการณ์ที่ค่อนข้างน่าสนใจได้

คุณสามารถสร้างลำดับของตัวเลข กำหนดจำนวนเฉพาะ หรือแสดงตัวจับเวลาถอยหลังได้ ในทางปฏิบัติแล้ว คุณสามารถวนซ้ำอาร์เรย์ของอ็อบเจ็กต์ โดยดำเนินการบางอย่างกับแต่ละรายการได้

ไวยากรณ์ของ For Loop ใน PowerShell

For loops ทำงานใน Windows PowerShell เช่นเดียวกับที่ทำในภาษาการเขียนโปรแกรมใดๆ นิพจน์ที่เริ่มต้นตัวแปรการติดตาม การทดสอบค่า และการแก้ไขตัวแปรจะอยู่ในวงเล็บตามหลัง "For" คั่นด้วยเครื่องหมายอัฒภาค จากนั้นจะมีรายการคำสั่งที่ผูกด้วยเครื่องหมายปีกกา

สำหรับ (การเริ่มต้น; เงื่อนไข; อัปเดต)

{

    บล็อกสคริปต์

วิธีใช้ For Loop ในสคริปต์ PowerShell

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

สมมติว่าคุณต้องเขียนโค้ดที่สามารถค้นหาผลรวมของตัวเลขธรรมชาติทั้งหมดจนกระทั่งตัวเลข nที่มีอยู่ในตัวแปร $n นี่คือตัวอย่าง For loop พื้นฐาน:

$n = 10

$sum = 0

สำหรับ ($i = 1 ; $i -le $n ; $i++)

{

    $sum = $sum + $i

“ผลรวมของจำนวนธรรมชาติ $n คือ $sum”

การเข้าถึงอาร์เรย์ผ่าน For Loop

.

การสร้างลำดับตัวเลขไม่ใช่สิ่งที่คนส่วนใหญ่ใช้ PowerShell การใช้งานทั่วไปคือการวนซ้ำในอาร์เรย์

สมมติว่าคุณมีอาร์เรย์ $week ที่มีเจ็ดองค์ประกอบ คุณสามารถส่งออกรายการวันที่มีอยู่ในอาร์เรย์ได้โดยใช้ For loop แบบง่าย ดังแสดงในตัวอย่างต่อไปนี้

สำหรับ ($i = 0 ; $i -lt $week.Length ; $i++)

{

    $สัปดาห์[$i]

}

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

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

คาดการณ์ ($วันใน $สัปดาห์)

{

    $วัน

}

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

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

For loop ไม่ใช่คำสั่งวนซ้ำประเภทเดียวที่คุณสามารถใช้ได้ เช่นเดียวกับภาษาการเขียนโปรแกรมส่วนใหญ่ PowerShell มีลูปหลายประเภท

ในขณะที่

สิ่งที่ง่ายที่สุดคือลูป While สิ่งที่คุณมีคือเงื่อนไขและบล็อกสคริปต์ และการวนซ้ำจะทำงานตราบใดที่นิพจน์ทดสอบประเมินว่าเป็นจริง เนื่องจากนิพจน์ได้รับการประเมินก่อน จึงมีโอกาสที่โค้ดจะไม่ทำงานเลยหรือจบลงด้วยการวนซ้ำไม่สิ้นสุด

ในขณะที่ (เงื่อนไข)

{

    บล็อกสคริปต์

}

ทำในขณะที่

หากคุณกำลังเขียนสคริปต์ที่ต้องรันอย่างน้อยหนึ่งครั้ง แม้ว่านิพจน์จะประเมินเป็นเท็จ คุณก็สามารถใช้ลูป Do-While ได้ ข้อแตกต่างเพียงอย่างเดียวจากลูป While คือจะวาง Command Block ก่อนเงื่อนไข ซึ่งหมายความว่าโค้ดจะถูกดำเนินการก่อนที่จะตรวจสอบนิพจน์ทดสอบเป็นครั้งแรก

ทำ {

    บล็อกสคริปต์

ในขณะที่ (เงื่อนไข)

ทำจนถึง

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

ทำ {

    บล็อกสคริปต์

จนถึง (เงื่อนไข)

เหตุใด For Loop จึงดีกว่า

ปัญหาของโครงสร้างการวนซ้ำอื่นๆ เหล่านี้คือไม่มีค่าเริ่มต้นหรือคำสั่งอัพเดต คุณต้องจำไว้ด้วยตนเองว่าต้องสร้างตัวแปรนอกลูป แล้วเพิ่ม (หรือลดค่า) ในแต่ละรอบของลูป

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

การวนซ้ำ For จะหลีกเลี่ยงปัญหานี้โดยจำเป็นต้องมีการกำหนดค่าเริ่มต้นและนิพจน์ส่วนเพิ่มภายในวงเล็บเริ่มต้น สิ่งนี้นำไปสู่สคริปต์ที่สะอาดและแข็งแกร่งยิ่งขึ้น

เมื่อใดที่คุณควรใช้ For Loop ใน PowerShell

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

ฟังก์ชันที่พบบ่อยที่สุดของลูปนี้คือการวนซ้ำบนอาร์เรย์ ทีละรายการ หากต้องการสคริปต์ที่มีประสิทธิภาพยิ่งขึ้น คุณสามารถใช้ ForEach loop ได้เช่นกัน คุณยังสามารถใช้ For loop เพื่อสร้างลำดับตัวเลขได้ แม้ว่าจะไม่ค่อยจำเป็นก็ตาม

คะแนน For loop เหนืออัลกอริธึมการวนซ้ำอื่นๆ โดยรวมฟังก์ชันที่จำเป็นทั้งหมดของลูปไว้ในพารามิเตอร์ ช่วยป้องกันข้อผิดพลาดใดๆ เนื่องจากการลืมคำสั่งเหล่านั้น สิ่งนี้ทำให้ For loop เป็นสิ่งที่ขาดไม่ได้ในทุกสถานการณ์ที่เรียกร้องให้ทำซ้ำชุดคำสั่ง

.

กระทู้ที่เกี่ยวข้อง:


5.04.2022