PowerShell

Delete Files in Windows PowerShell

Windows PowerShell

มีเหตุให้ต้องลบไฟล์จำนวนมหาศาลบน Windows แบบกำหนดเงื่อนไขตามชื่อไฟล์ ปัญหาคือไม่เคยเขียน PowerShell มาก่อน เลยต้องงมๆ อยู่พักหนึ่งกว่าจะทำได้

ผลออกมาคือท่าที่เวิร์คต้องใช้ | (pipe แบบเดียวกับ unix shell) โดยเริ่มจากเรียกชื่อไฟล์ทั้งหมดในไดเรคทอรี จากนั้น match ด้วยเงื่อนไขตาม regular expression และปิดด้วยการลบไฟล์ที่กรองแล้ว

Get-ChildItem $Path | Where{$_.Name -Match "<RegEx Pattern>"} | Remove-Item

ในกรณีที่เป็นไดเรคทอรีซ้อนไดเรคทอรี ก็สามารถใส่ -Recurse เพิ่มไปได้

Get-ChildItem $Path -Recurse | Where{$_.Name -Match "<RegEx Pattern>"} | Remove-Item

Keyword: 
Subscribe to RSS - PowerShell