วิธีที่ PowerShell For Loop สามารถเรียกใช้คำสั่งได้หลายครั้ง
For loop เป็นหนึ่งในเครื่องมือที่มีค่าที่สุดในภาษาการเขียนโปรแกรมใดๆ(valuable tools in any programming language)และ Microsoft PowerShellก็ไม่ต่างกัน คุณสามารถใช้ลูปอื่นเพื่อทำซ้ำคำสั่งได้ แต่ For loop อาจจะตรงไปตรงมาที่สุด
ตั้งแต่การวนซ้ำอาร์เรย์ไปจนถึงการใช้งานฟังก์ชันตามจำนวนที่กำหนดไว้ มีหลายสิ่งที่คุณสามารถทำได้ด้วยเครื่องมือนี้ นี่คือการสอนเกี่ยวกับวิธีการใช้ For loops ในPowerShell
การใช้(Use) For LoopsในPowerShellคืออะไร?
ต่างจาก พรอม ต์คำสั่ง(Command Prompt)PowerShellเป็นสภาพแวดล้อมการเขียนสคริปต์ที่สมบูรณ์ ซึ่งหมายความว่าคุณสามารถเขียนสคริปต์ PowerShell(PowerShell scripts) ที่นำกลับมาใช้ใหม่ได้ เพื่อทำงานโดยอัตโนมัติแทนที่จะป้อนคำสั่งด้วยตนเอง และ For loops เป็นกุญแจสำคัญในการเขียนโมดูลเหล่านี้
A สำหรับคำสั่งซ้ำสคริปต์บล็อกตามจำนวนครั้งที่กำหนด แก้ไขตัวแปรที่กำหนดเพื่อติดตามความคืบหน้า วิธีนี้ช่วยให้คุณใช้ลูปสำหรับสถานการณ์ที่ค่อนข้างน่าสนใจได้
คุณสามารถสร้างลำดับของตัวเลข กำหนดจำนวนเฉพาะ หรือแสดงตัวนับเวลาถอยหลัง ในทางปฏิบัติมากขึ้น คุณสามารถวนซ้ำอาร์เรย์ของอ็อบเจ็กต์ ดำเนินการบางอย่างกับแต่ละรายการ
ไวยากรณ์(Syntax)ของFor LoopในPowerShell
For loops ทำงานในWindows PowerShellเหมือนกับที่ทำในภาษาการเขียนโปรแกรมใดๆ นิพจน์ที่เริ่มต้นตัวแปรการติดตาม การทดสอบค่าของตัวแปร และการแก้ไขตัวแปรจะอยู่ภายในวงเล็บหลัง "สำหรับ" ซึ่งคั่นด้วยเครื่องหมายอัฒภาค จากนั้นรายการคำสั่งก็ผูกด้วยวงเล็บปีกกา
สำหรับ ( การเริ่มต้น(Initialization) ; เงื่อนไข(Condition) ; อัปเดต(Update) )
{
บล็อกสคริปต์(Script Block)
}
วิธีใช้ For LoopในPowerShell Script
การใช้ For loop นั้นค่อนข้างง่าย เมื่อใดก็ตามที่คุณพบสถานการณ์ที่เรียกร้องให้ทำซ้ำขั้นตอนที่แตกต่างกันเล็กน้อย คุณควรใส่ลงในลูป For
สมมติว่าคุณต้องเขียนข้อมูลโค้ดที่สามารถหาผลรวมของจำนวนธรรมชาติทั้งหมดจนกว่าจะได้ตัวเลขnที่มีอยู่ในตัวแปร $n นี่คือตัวอย่าง For loop พื้นฐาน:
$n = 10
$sum = 0
สำหรับ ($i = 1 ; $i -le $n ; $i++)
{
$sum = $sum + $i
}
“ผลรวมของตัวเลขธรรมชาติ $n คือ $sum”
การเข้าถึงอาร์เรย์ผ่าน For Loop
การสร้างลำดับตัวเลขแทบจะเป็นสิ่งที่คนส่วนใหญ่ใช้PowerShellเพื่อ การใช้งานทั่วไปคือการวนซ้ำอาร์เรย์
สมมติว่า(Say)คุณมีอาร์เรย์ $week ที่มีเจ็ดองค์ประกอบ คุณสามารถแสดงรายการวันที่มีอยู่ในอาร์เรย์ได้โดยใช้ลูป For อย่างง่าย ดังที่แสดงในตัวอย่างต่อไปนี้
สำหรับ ($i = 0 ; $i -lt $week.Length ; $i++)
{
$สัปดาห์[$i]
}
การใช้ForEach Loopเพื่อ วน ซ้ำอย่างรวดเร็ว(Quickly Iterate)ผ่านอาร์เรย์
อีกรูปแบบหนึ่งของ For loop คือคำสั่งForEach เวอร์ชันนี้ช่วยลดความยุ่งยากในการดูเนื้อหาของอาร์เรย์PowerShell และประมวลผลทีละรายการ (PowerShell)ตัวอย่างเช่น ข้อมูลโค้ดก่อนหน้า สามารถเขียนใหม่ได้ดังนี้:
Foreach ($วันใน $สัปดาห์)
{
$วัน
}
เมื่อจัดการกับวัตถุที่ซับซ้อนมากขึ้น คุณยังสามารถใช้ Foreach-Object cmdlet เพื่อดำเนินการกับเนื้อหาของคำสั่งPowerShell
For Loop แตกต่าง(Loop Different)จากลูป(Loops)ประเภทอื่น(Types)อย่างไร
For loop ไม่ใช่คำสั่งการวนซ้ำประเภทเดียวที่คุณสามารถใช้ได้ เช่นเดียวกับภาษาโปรแกรมส่วนใหญ่PowerShellมีลูปหลายประเภท
ในขณะที่
ที่ง่ายที่สุดคือลูปในขณะที่ สิ่งที่คุณมีคือเงื่อนไขและบล็อกสคริปต์ และลูปจะทำงานตราบใดที่นิพจน์การทดสอบประเมินว่าเป็นจริง เนื่องจากนิพจน์ได้รับการประเมินก่อน จึงมีโอกาสที่โค้ดจะไม่ทำงานเลยหรือจบลงที่การวนซ้ำแบบอนันต์
ในขณะที่ ( เงื่อนไข(Condition) )
{
บล็อกสคริปต์(Script Block)
}
ทำในขณะที่
หากคุณกำลังเขียนสคริปต์ที่ต้องเรียกใช้อย่างน้อยหนึ่งครั้ง แม้ว่านิพจน์จะประเมินเป็นเท็จก็ตาม คุณสามารถใช้ลูปDo-While ได้ (Do-While)ข้อแตกต่างเพียงอย่างเดียวจากลูป while คือวางบล็อกคำสั่งก่อนเงื่อนไข ซึ่งหมายความว่าโค้ดจะถูกดำเนินการก่อนที่จะตรวจสอบนิพจน์การทดสอบในครั้งแรก
ทำ {
บล็อกสคริปต์(Script block)
}
ในขณะที่ ( เงื่อนไข(Condition) )
ทำจน
เวอร์ชันอื่นของลูปนี้คือDo -Until (Do-Until)โดยพื้นฐาน(Basically)แล้ว มันจะรันบล็อคโค้ดแล้วทำซ้ำจนกว่านิพจน์การทดสอบจะเป็นจริง – ซึ่งตรงกันข้ามกับลูปDo-While ไม่ใช่โครงสร้างที่มีประโยชน์อย่างยิ่ง เนื่องจากคุณสามารถทำสิ่งเดียวกันให้สำเร็จได้โดยการแก้ไขเงื่อนไขในลูปDo-While มาตรฐาน(Do-While)
ทำ {
บล็อกสคริปต์(Script Block)
}
ถึง ( เงื่อนไข(Condition) )
ทำไม For Loop ถึงดีกว่า
ปัญหาของโครงสร้างการวนซ้ำอื่นๆ เหล่านี้คือ โครงสร้างเหล่านี้ไม่รวมค่าเริ่มต้นหรือคำสั่งการอัพเดท คุณต้องจำไว้ว่าให้สร้างตัวแปรนอกลูปแล้วเพิ่ม (หรือลดค่าลง) ในทุกรอบของลูป
ตามที่คุณคาดไว้ โปรแกรมเมอร์มักจะลืมขั้นตอนนี้ ส่งผลให้สคริปต์ไม่ทำงานตามที่ตั้งใจไว้ ทำให้เสียเวลาอันมีค่าในการดีบัก
For loop หลีกเลี่ยงปัญหานี้โดยกำหนดให้มีการเริ่มต้นและเพิ่มนิพจน์ภายในวงเล็บเริ่มต้น สิ่งนี้นำไปสู่สคริปต์ที่สะอาดขึ้นและแข็งแกร่งยิ่งขึ้น
คุณควรใช้ For LoopในPowerShell เมื่อ ใด
PowerShellนั้นเกี่ยวกับการสร้างสคริปต์สำหรับการทำงานอัตโนมัติ และอาจเป็นเครื่องมือที่มีประโยชน์ที่สุดสำหรับการบรรลุเป้าหมายนี้คือ For loop คุณสามารถใช้เพื่อแทนที่การดำเนินการคัดลอกและวางจำนวนมากด้วยสคริปต์ที่กะทัดรัดและสวยงามยิ่งขึ้น
ฟังก์ชันทั่วไปที่สุดของลูปนี้คือวนซ้ำในอาร์เรย์ ทีละรายการ สำหรับสคริปต์ที่คล่องตัวยิ่งขึ้น คุณสามารถใช้ForEach loop ได้เช่นกัน คุณยังสามารถใช้ For loop เพื่อสร้างลำดับตัวเลข แม้ว่าจะไม่ค่อยมีความจำเป็นก็ตาม
คะแนน For loop เหนืออัลกอริธึมการวนซ้ำอื่นๆ โดยการรวมฟังก์ชันที่จำเป็นทั้งหมดของลูปเข้าไปในพารามิเตอร์ เพื่อป้องกันข้อผิดพลาดเนื่องจากการลืมคำสั่งเหล่านั้น สิ่งนี้ทำให้ For loop ขาดไม่ได้ในสถานการณ์ใด ๆ ที่เรียกร้องให้ทำซ้ำชุดคำสั่ง
Related posts
Create Multiple Folders Using Command Prompt and PowerShell
วิธีสแกนหลายหน้าเป็นไฟล์ PDF ไฟล์เดียว
ทำให้เว็บแอปทำงานเหมือนแอปเดสก์ท็อป
วิธีใช้คำสั่ง Ping เพื่อแก้ไขปัญหาเครือข่าย
วิธีใช้คำสั่ง Taskkill ใน Windows 10/11
วิธีส่งต่ออีเมลหลายฉบับใน Gmail
วิธีการส่งออกแผนผังไดเร็กทอรีของโฟลเดอร์ใน Windows
วิธีการ ALWAYS Run Command Prompt and PowerShell เป็น Administrator
วิธีรีเซ็ต PowerShell and Command Prompt เพื่อการตั้งค่าเริ่มต้น
วิธีสร้างแอพพกพาที่ใช้ USB Stick
Run Windows PowerShell สคริปต์ครั้งแรกที่การเข้าสู่ระบบ, ออกเสียง, การเริ่มต้น, การปิด
ใช้สคริปต์นี้เพื่อเปลี่ยนชื่อไฟล์หลายไฟล์พร้อมกันใน Windows
วิธีการสลับไปมาระหว่าง CMD and PowerShell ใน Windows Terminal
เรียกใช้เกมและโปรแกรม DOS รุ่นเก่าใน Windows XP, Vista, 7/8/10
วิธีแปลเอกสาร Word เป็นหลายภาษา
Run PowerShell Scripts Locally โดยไม่ต้องลงชื่อเข้าใช้ Windows 10
เรียกใช้ VirtualBox จากไดรฟ์ USB
วิธีการสร้างและเรียกใช้ไฟล์ ISO บน Windows
Check Windows 10 OS architecture ใช้ PowerShell or Command Prompt
Change Local Account password ใช้ Command Prompt or PowerShell