كيفية حذف الملفات أقدم من أيام X على ويندوز
لقد أظهرنا لك بالفعل مدى مرونة قشرة لينكس ، ولكن هذا لا يعني أن Windows قد تأخر أكثر. إليك طريقتين يمكنك استخدامهما بناءً على تفضيلات shell أو cmd أو PowerShell.
PowerShell 3
Get-ChildItem -Path “C: \ Backups” -Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | إزالة بند
PowerShell 2
Get-ChildItem -Path “C: \ Backups” -Recurse | Where-Object $ _. CreationTime -lt (Get-Date) .AddDays (-5) عودة إلى الأعلى | إزالة بند
تفسير
- أولاً نحصل على كائنات FileInfo و DirectoryInfo في مسار C: \ Backups.
- يحتوي كل من FileInfo وكائنات DirectoryInfo على خاصية CreationTime ، لذا يمكننا تصفية المجموعة باستخدام ذلك.
- ثم يتم استخدام عامل التشغيل -lt (أقل من) لمقارنة خاصية CreationTime للكائنات مع Get-Date (التاريخ الحالي) بطرح 5 أيام.
- هذا ثم يترك لنا مجموعة من الكائنات التي تم إنشاؤها منذ أكثر من 5 أيام ، والتي نمررها إلى إزالة البند.
نصيحة للمحترفين
لمعرفة ما ستتم إزالته ، يمكنك استخدام المعلمة -WhatIf:
Get-ChildItem -Path “C: \ Backups” -Recurse | Where-Object CreationTime -lt (Get-Date) .AddDays (-5) | Remove-Item -WhatIf
موجه الأمر
على الرغم من أننا نوصي باستخدام أحد أساليب PowerShell ، دون الدخول في أيٍ من التفاصيل الدقيقة ، يمكنك أيضًا القيام بذلك من موجه الأوامر.
forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c delpath"
نصيحة للمحترفين
لمعرفة الملفات التي سيتم حذفها ، يمكنك استخدام الصدى.
forfiles -p "C: \ Backups" -s -m *. * -d -5 -c "cmd / c echofile"