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 สำหรับการเขียน regular expression ก็ไม่ต่างอะไรกับของ unix ครับ ใครเขียนไม่เป็นก็ลองอ่าน [Writing Regular Expressions in Windows PowerShell](https://technet.microsoft.com/en-us/magazine/2007.11.powershell.aspx) เทคนิคเล็กๆ ของ PowerShell คือเราสามารถใส่พารามีเตอร์ -WhatIf ต่อท้ายก่อนสั่งลบไฟล์ได้ เพื่อเช็คดูก่อนว่า ตกลงมันใช่ไฟล์ที่เราจะลบจริงๆ หรือเปล่า - [TechNet](http://blogs.technet.com/b/heyscriptingguy/archive/2012/02/22/the-best-way-to-use-powershell-to-delete-folders.aspx) ข้อมูลจาก [StackOverflow](http://stackoverflow.com/questions/23767489/how-can-one-delete-files-in-a-folder-matching-a-regular-expression-using-powersh)
Keyword