الصفحة الرئيسية » howto » كيفية حذف الملفات أقدم من أيام X على ويندوز

    كيفية حذف الملفات أقدم من أيام 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"