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

การเรียนรู้ PowerShell: ทำซ้ำคำสั่งอย่างง่ายดายเพื่อประสิทธิภาพที่เพิ่มขึ้น


5 เทคนิคอันทรงพลังในการทำซ้ำคำสั่ง PowerShell ได้อย่างง่ายดาย

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

ในฐานะวิศวกรผู้เชี่ยวชาญด้านซอฟต์แวร์ ฉันต้องเผชิญกับสถานการณ์ต่างๆ มากมายที่ฉันต้องทำงานซ้ำๆ และฉันพบว่าเทคนิคเหล่านี้ช่วยฉันประหยัดเวลาได้นับไม่ถ้วน อ่านต่อในขณะที่เราค้นพบวิธีการอันน่าทึ่งเหล่านี้ที่จะปฏิวัติงานของคุณด้วย PowerShell

1. วนซ้ำ ForEach วนซ้ำ

เทคนิคแรกและที่พบบ่อยที่สุดคือการใช้ ForEach loops วิธีนี้ช่วยให้คุณสามารถวนซ้ำผ่านอาร์เรย์หรือรายการของรายการและดำเนินการเฉพาะเจาะจงสำหรับแต่ละรายการ นี่คือตัวอย่าง:

$items = 1,2,3,4,5
ForEach ($item in $items) {
Write-Host “Processing item: $item”
}

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

2. การวนซ้ำด้วย For loops

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

for ($i = 0; $i -lt 5; $i++) {
Write-Host “Iteration: $($i + 1)”
}

ข้อมูลโค้ดนี้จะทำซ้ำคำสั่ง Write-Host ห้าครั้ง โดยเพิ่มตัวแปร $i หลังจากการวนซ้ำแต่ละครั้ง คุณสามารถใช้เทคนิคนี้เพื่อทำซ้ำคำสั่งใดๆ ตามจำนวนครั้งที่กำหนด

3. กำหนดเวลางานโดยใช้ Task Scheduler

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

เมื่อต้องการสร้างงานที่กำหนดเวลาไว้ ให้ทำตามขั้นตอนเหล่านี้:

1. เปิด Task Scheduler โดยค้นหา 'Task Scheduler' ในเมนู Start
2. ในแผงการดำเนินการ คลิก Create Basic Task.
3. กรอกข้อมูล รายละเอียดที่จำเป็น เช่น ชื่องาน คำอธิบาย และทริกเกอร์
4. ในขั้นตอน การกระทำ ให้เลือก เริ่มโปรแกรม จากนั้นเรียกดูไฟล์ปฏิบัติการ PowerShell ( C:WindowsSystem32WindowsPowerShellv1.0powershell.exe).
5. ในฟิลด์ เพิ่มอาร์กิวเมนต์ ให้ป้อนคำสั่ง PowerShell หรือสคริปต์ที่คุณต้องการดำเนินการ
6. คลิก Finish เพื่อสร้างงานที่กำหนดเวลาไว้

เมื่อสร้างงานแล้ว งานจะดำเนินการคำสั่งหรือสคริปต์ของคุณตามช่วงเวลาหรือเวลาที่ระบุ

4. ใช้ประโยชน์จากลูป While และ Do-While

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

นี่คือตัวอย่างการใช้ While loop:

$attempts = 0
while ($attempts -lt 5) {
Write-Host “Attempt: $($attempts + 1)”
$attempts++
}

และนี่คือตัวอย่างการใช้ Do-While loop:

$completed = $false
do {
Write-Host “Working…”
# Execute your PowerShell command here
# Set $completed to $true when you want to exit the loop
} while (-not $completed)

5. ใช้เวิร์กโฟลว์ PowerShell

เวิร์กโฟลว์ PowerShell มอบวิธีที่มีประสิทธิภาพในการกำหนด ดำเนินการ และจัดการงานที่ใช้เวลานาน สิ่งเหล่านี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการทำซ้ำคำสั่งหลายๆ ครั้ง และจัดการการทำงานแบบขนาน จุดตรวจ หรือลองใหม่ นี่คือตัวอย่าง:

workflow Invoke-RepeatedCommand {
foreach -parallel ($number in 1..5) {
Write-Output “Processing number: $number”
# Execute your PowerShell command here with $number as a parameter
}
}
Invoke-RepeatedCommand

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

-

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

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

คำสั่ง PowerShell 10 อันดับแรกสำหรับผู้เริ่มต้น | ตัวอย่างที่สมจริงพร้อมคำอธิบาย!

40 คำสั่ง Windows ที่คุณต้องรู้ (ใน 10 นาที)

สามารถทำซ้ำคำสั่งใน PowerShell ได้อย่างไร?

ใน PowerShell คุณสามารถทำซ้ำคำสั่งได้โดยใช้ Intake-History cmdlet หรือโดยการกดปุ่ม F8 นี่คือสองวิธี:

1. เรียกใช้-ประวัติ: ดำเนินการคำสั่งต่อไปนี้เพื่อเรียกใช้คำสั่งสุดท้ายที่ดำเนินการในเซสชัน PowerShell

Invoke-History

หากคุณต้องการเรียกใช้คำสั่งเฉพาะจากประวัติเซสชันของคุณ ขั้นแรกให้ใช้ Get-History เพื่อแสดงรายการคำสั่งทั้งหมดด้วย ID ที่เกี่ยวข้อง

Get-History

หลังจากที่คุณระบุ ID ของคำสั่งที่ต้องการแล้ว ให้ใช้คำสั่งต่อไปนี้เพื่อทำซ้ำ:

Invoke-History -Id

แทนที่ “ ด้วย ID จริงที่ได้รับจากเอาต์พุต Get-History

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

โปรดทราบว่าทั้งสองวิธีจะใช้ได้เฉพาะกับคำสั่งที่ดำเนินการภายในเซสชัน PowerShell เดียวกันเท่านั้น

ฉันจะรันสคริปต์ PowerShell อีกครั้งได้อย่างไร

หากต้องการรันสคริปต์ PowerShell อีกครั้งในบริบทของบรรทัดคำสั่ง PowerShell คุณสามารถใช้ขั้นตอนต่อไปนี้:

1. เปิด PowerShell โดยพิมพ์ PowerShell ลงในแถบค้นหาของ Windows และคลิกที่แอปพลิเคชัน

2. นำทางไปยังไดเร็กทอรี ที่มีสคริปต์ของคุณโดยใช้คำสั่ง cd (Change Directory) ตัวอย่างเช่น หากสคริปต์ของคุณอยู่ใน C:Scripts คุณจะต้องพิมพ์:

cd C:Scripts

3. หากคุณยังไม่ได้ดำเนินการ ให้ เปิดใช้งานการเรียกใช้สคริปต์ โดยเรียกใช้คำสั่งต่อไปนี้:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

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

4. สุดท้าย รันสคริปต์ของคุณ โดยพิมพ์ชื่อไฟล์ นำหน้าด้วยจุดและแบ็กสแลช ตัวอย่างเช่น หากสคริปต์ของคุณชื่อ MyScript.ps1 คุณจะต้องพิมพ์:

.MyScript.ps1

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

ฉันจะรันคำสั่งซ้ำ ๆ ใน Windows PowerShell ได้อย่างไร

ใน Windows PowerShell คุณสามารถดำเนินการคำสั่งซ้ำๆ ได้โดยใช้ for loop, While loop หรือ Foreach-Object cmdlet ด้วย ตัวดำเนินการช่วง นี่คือตัวอย่างของแต่ละวิธี:

1. For loop
หากต้องการดำเนินการคำสั่งซ้ำๆ โดยใช้ for loop คุณสามารถใช้ไวยากรณ์ต่อไปนี้:

for ($i=0; $i -lt ; $i++) {
# Your command here
}

แทนที่ “ ด้วยจำนวนครั้งที่คุณต้องการดำเนินการคำสั่ง

<แข็งแกร่ง>2. While loop
หากต้องการรันคำสั่งซ้ำๆ โดยใช้ while loop ให้ใช้ไวยากรณ์นี้:

$i = 0
while ($i -lt ) {
# Your command here
$i++
}

อีกครั้งแทนที่ “ ด้วยจำนวนครั้งที่คุณต้องการดำเนินการคำสั่ง

<แข็งแกร่ง>3. Foreach-Object พร้อมตัวดำเนินการ Range
หากต้องการใช้ Foreach-Object cmdlet กับตัวดำเนินการ Range (..) เพื่อดำเนินการคำสั่งซ้ำ ๆ ให้ทำตามเทมเพลตนี้:

(1..) | ForEach-Object {
# Your command here
}

แทนที่ “ ด้วยจำนวนการทำซ้ำที่ต้องการ

นี่เป็นวิธีการทั่วไปบางส่วนในการรันคำสั่งซ้ำๆ ใน Windows PowerShell เพียงแทนที่ความคิดเห็น (# Your command here) ด้วยคำสั่งจริงที่คุณต้องการดำเนินการ

คุณจะสร้าง for loop ใน PowerShell ได้อย่างไร

ใน PowerShell คุณสามารถสร้าง for loop ได้โดยใช้ไวยากรณ์ต่อไปนี้:

for (initialization; condition; increment) {
script_block
}

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

นี่คือตัวอย่างของ for loop ใน PowerShell:

for ($i = 0; $i -lt 10; $i++) {
Write-Output “Iteration: $i”
}

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

ฉันจะทำให้กระบวนการดำเนินการคำสั่ง PowerShell หลายๆ ครั้งติดต่อกันเป็นอัตโนมัติโดยไม่ต้องป้อนข้อมูลด้วยตนเองในอินเทอร์เฟซบรรทัดคำสั่งในแต่ละครั้งได้อย่างไร

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

ใน PowerShell คุณสามารถใช้ for loop หรือ foreach loop เพื่อให้เกิดการทำงานอัตโนมัตินี้ได้ ต่อไปนี้คือตัวอย่างบางส่วนของวิธีใช้ลูปเหล่านี้:

1. สำหรับลูป:
“`powershell
for ($i=0; $i -lt 10; $i++) {
# คำสั่ง PowerShell ของคุณอยู่ที่นี่
Write-Host นี่คือการวนซ้ำ: $i

“`
โค้ดนี้จะรันคำสั่งภายในเครื่องหมายปีกกา {} สิบครั้ง

2. Foreach loop:
“`powershell
$items=1..10
foreach ($item in $items) {
# คำสั่ง PowerShell ของคุณอยู่ที่นี่
Write-Host นี่คือ item: $item

“`
โค้ดนี้จะรันคำสั่งภายในเครื่องหมายปีกกา {} หนึ่งครั้งสำหรับแต่ละรายการใน < รหัส>$รายการอาร์เรย์

อย่าลืมแทนที่คำสั่ง Write-Host ด้วยคำสั่ง PowerShell เฉพาะที่คุณต้องการดำเนินการหลายครั้งติดต่อกัน

วิธีใดมีประสิทธิภาพมากที่สุดในการจัดกำหนดการคำสั่ง PowerShell เฉพาะให้ทำงานโดยอัตโนมัติตามช่วงเวลาที่กำหนด เพื่อให้แน่ใจว่ากระบวนการทำซ้ำเป็นไปอย่างราบรื่น

วิธีที่มีประสิทธิภาพที่สุดในการกำหนดตารางเวลาคำสั่ง PowerShell เฉพาะให้ทำงานโดยอัตโนมัติตามช่วงเวลาที่กำหนดคือการใช้ Task Scheduler ร่วมกับการเรียก powershell.exe สิ่งนี้ทำให้มั่นใจได้ว่ากระบวนการทำซ้ำจะราบรื่น ทำให้คุณสามารถตั้งค่างานที่จะเริ่มโดยอัตโนมัติตามช่วงเวลาที่กำหนด

ทำตามขั้นตอนเหล่านี้เพื่อจัดกำหนดการคำสั่ง PowerShell:

1. เปิด Task Scheduler โดยค้นหาในเมนู Start หรือโดยการเรียกใช้ taskschd.msc จากกล่องโต้ตอบ Run (Win + R)
2 ในหน้าต่าง Task Scheduler คลิกขวาที่ Task Scheduler Library และเลือก Create Basic Task
3. ป้อนชื่อและคำอธิบายสำหรับงานแล้วคลิก ถัดไป
4. เลือกทริกเกอร์สำหรับงาน เช่น รายวัน รายสัปดาห์ หรือ รายเดือน และตั้งเวลาและความถี่เริ่มต้นที่ต้องการ คลิก ถัดไป
5. ในแท็บ การกระทำ ให้เลือก เริ่มโปรแกรม และคลิก ถัดไป
6. ในฟิลด์ Program/script ให้ป้อน powershell.exe ในฟิลด์ เพิ่มอาร์กิวเมนต์ (ไม่บังคับ) ให้ป้อน -ExecutionPolicy Bypass -Command แทนที่ “ ด้วยคำสั่งจริงที่คุณต้องการเรียกใช้
7. คลิก ถัดไป และตรวจสอบการตั้งค่างานของคุณ หากทุกอย่างถูกต้องแล้ว คลิกเสร็จสิ้น

ตอนนี้ คำสั่ง PowerShell ที่ระบุจะทำงานโดยอัตโนมัติตามช่วงเวลาที่กำหนด เพื่อให้มั่นใจว่ากระบวนการทำซ้ำจะราบรื่น

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

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

1. ใช้นามแฝง: PowerShell มีนามแฝงในตัวสำหรับคำสั่งทั่วไปจำนวนมาก ซึ่งสามารถช่วยคุณประหยัดเวลาและทำให้จำคำสั่งได้ง่ายขึ้น ตัวอย่างเช่น แทนที่จะพิมพ์ "Get-ChildItem" คุณสามารถใช้นามแฝงว่า "gci" ได้

2. การเติมแท็บให้สมบูรณ์: เมื่อพิมพ์คำสั่งหรือเส้นทางใน PowerShell คุณสามารถใช้ปุ่ม Tab เพื่อเติมคำสั่งหรือเส้นทางให้อัตโนมัติได้ วิธีนี้สามารถช่วยคุณประหยัดเวลาโดยลดข้อผิดพลาดในการพิมพ์และเร่งกระบวนการป้อนคำสั่งให้เร็วขึ้น

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

4. ใช้ฟังก์ชันและสคริปต์: หากคุณพบว่าตัวเองใช้ชุดคำสั่งบางชุดเป็นประจำ ให้ลองสร้างฟังก์ชันหรือสคริปต์ที่ใช้ซ้ำได้ ตัวอย่างเช่น หากคุณมักจะต้องดึงรายการกระบวนการที่ทำงานอยู่และจัดเรียงตามการใช้หน่วยความจำ คุณสามารถสร้างฟังก์ชันที่รวม cmdlets 'Get-Process' และ 'Sort-Object'

5. โปรไฟล์ PowerShell: โปรไฟล์ PowerShell คือสคริปต์ที่ทำงานทุกครั้งที่คุณเริ่มเซสชันใหม่ คุณสามารถใช้โปรไฟล์เพื่อปรับแต่งสภาพแวดล้อมของคุณ กำหนดฟังก์ชัน นามแฝง และตัวแปรที่คุณต้องการให้มีในทุกเซสชัน

6. พารามิเตอร์บรรทัดคำสั่ง: PowerShell cmdlet จำนวนมากยอมรับพารามิเตอร์บรรทัดคำสั่ง ซึ่งช่วยให้คุณปรับแต่งลักษณะการทำงานได้ ตัวอย่างเช่น หากต้องการกรองเอาต์พุตของ cmdlet 'Get-ChildItem' คุณสามารถใช้พารามิเตอร์ '-Filter' ตามด้วยนิพจน์ไวด์การ์ด

7. ไปป์ไลน์: ใน PowerShell คุณสามารถใช้ตัวดำเนินการไปป์ไลน์ (|) เพื่อส่งเอาต์พุตของ cmdlet หนึ่งเป็นอินพุตไปยัง cmdlet อื่น ซึ่งช่วยให้คุณสามารถดำเนินการที่ซับซ้อนได้โดยไม่ต้องเก็บผลลัพธ์ระดับกลางไว้ในตัวแปร

ด้วยการใช้แนวทางปฏิบัติที่ดีที่สุดและทางลัดเหล่านี้ คุณสามารถปรับปรุงประสิทธิภาพและประสบการณ์ผู้ใช้ของคุณได้อย่างมากในขณะที่ทำงานกับบรรทัดคำสั่ง PowerShell

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