ลบไฟล์ที่เก่ากว่า x วันโดยใช้ PowerShell
ในบทความนี้ ฉันจะอธิบายวิธีใช้ PowerShell เพื่อลบไฟล์ที่เก่ากว่า x วันออกจากระบบของคุณ Windows file explorer ไม่มีตัวเลือกในการลบไฟล์ที่เก่ากว่า x วัน เราต้องลบไฟล์ออกจากระบบด้วยตนเอง PowerShell Remove-Item cmdlet ทำให้การลบไฟล์ออกจากระบบง่ายขึ้น
Remove-Item cmdlet ใน PowerShell ใช้เพื่อลบไฟล์อีกหนึ่งรายการ ใช้คำสั่ง Get-ChildItem เพื่อรับไฟล์ที่ต้องการ และใช้ตัวดำเนินการไปป์ไลน์เพื่อลบไฟล์โดยใช้ Remove-Item cmdlet
คุณสามารถใช้ Remove-Item cmdlet เพื่อลบไฟล์โดยใช้คำสั่งด้านล่าง
Remove-Item -path D:\PowerShell\Temp.txtคำสั่งนี้จะลบไฟล์ Temp.txt ออกจากระบบ
ลบไฟล์ที่เก่ากว่า 15 วัน
คุณสามารถใช้ Remove-Item cmdlet เพื่อลบไฟล์ที่เก่ากว่า 15 วันร่วมกับ Get-ChildItem เพื่อรับไฟล์ที่ต้องการจากระบบ
ใช้คำสั่งด้านล่างเพื่อลบไฟล์ที่เก่ากว่า 15 วันโดยใช้ PowerShell
Get-ChildItem -Path "D:\PowerShell\Backup\" -Recurse | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-15) } | Remove-Itemในสคริปต์ PowerShell ข้างต้น
Get-ChildItem cmdlet ใน PowerShell รับไฟล์จากไดเร็กทอรีที่ระบุ และการใช้พารามิเตอร์การเรียกซ้ำ จะรับไฟล์จากโฟลเดอร์และโฟลเดอร์ย่อยแบบวนซ้ำ
มันส่งวัตถุผ่านตัวดำเนินการไปป์ไลน์ไปยังคำสั่งที่สอง
คำสั่งที่สองใช้ Where-Object เพื่อใช้เงื่อนไขตัวกรองสำหรับไฟล์ที่มี CreationTime เก่ากว่า 15 วัน และส่งผ่านไฟล์ที่เก่ากว่า 15 วันไปยังคำสั่งที่สาม
คำสั่งที่สามใช้ Remove-Item cmdlet เพื่อลบไฟล์ที่เก่ากว่า 15 วัน
ลบไฟล์ที่เก่ากว่า 30 วันพร้อมนามสกุล
บ่อยครั้งที่เรามีไฟล์บันทึกหรือไฟล์สำรองในระบบที่เก่ากว่า 30 วันและไม่ได้ใช้งานหรือจำเป็นเลย เราจำเป็นต้องค้นหาไฟล์เหล่านี้และลบออกเพื่อเพิ่มพื้นที่ว่างในดิสก์
คุณสามารถใช้ Get-ChildItem cmdlet เพื่อรับรายการไฟล์ที่เก่ากว่า 30 วันที่มีนามสกุล เช่น .log และใช้ Remove-Item cmdlet เพื่อลบไฟล์ที่เก่ากว่า 30 วัน
Get-ChildItem -Path D:\PowerShell\Backup -Recurse -include *.log | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-30) } | Remove-Itemในสคริปต์ PowerShell ข้างต้น
Get-ChildItem cmdlet ใช้พารามิเตอร์ Recurse เพื่อรับไฟล์ที่มีนามสกุล .log จากเส้นทางที่ระบุซ้ำๆ
รับไฟล์ที่ตรงกับรูปแบบ *.log และส่งอ็อบเจ็กต์ไปยังคำสั่งที่สอง
คำสั่งที่สองใช้ Where-Object เพื่อตรวจสอบเวลาการสร้างไฟล์ที่เก่ากว่า 30 วันโดยใช้ Get-Date และส่งวัตถุไปยัง Remove-Item cmdlet
คำสั่งที่สามใช้ Remove-Item เพื่อลบไฟล์ที่เก่ากว่า 30 วันที่มีนามสกุล .log
เคล็ดลับเด็ด: วิธีลบไฟล์หากมีโดยใช้ PowerShell!
บทสรุป
ฉันหวังว่าบทความข้างต้นเกี่ยวกับวิธีลบไฟล์ที่เก่ากว่า 15 วันโดยใช้ Remove-Item cmdlet จะมีประโยชน์
คุณสามารถใช้ Get-ChildItem cmdlet เพื่อรับรายการไฟล์ที่ตรงกับรูปแบบเพื่อรับไฟล์นามสกุลเฉพาะหรือรับไฟล์ที่เก่ากว่า 1 ชั่วโมงหรือ 30 วัน
การใช้ Remove-Item cmdlet ใน PowerShell จะลบไฟล์ที่เก่ากว่า x วัน
คุณสามารถดูหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek