SORU
24 Temmuz 2013, ÇARŞAMBA


Dosyaları 15 gün sürüm. daha eski sil

Sadece en fazla 15 gün önce belirli bir klasör içinde oluşturulan dosyaları silmek istiyorum. Nasıl bu sürüm. yapabilirim?

CEVAP
11 EKİM 2013, Cuma


Verilen yanıtlar tek Dosyaları Sil (kuşkusuz budur Başlığı bu yazı), ama burada bazı kod ilk silmek tüm dosyaları daha eski 15 gün, ve sonra herhangi bir boş dizinleri özyinelemeli olarak sil o olabilir geride. Benim kod da zorlama seçeneği gizli silmek için kullanır ve salt okunur dosyaları. Ayrıca, OP PowerShell için yeni sahte isim kullanmayı tercih etti ve gcı ne olduğunu anlamak değil mi? %, vb. .

$limit = (Get-Date).AddDays(-15)
$path = "C:\Some\Path"

# Delete files older than the $limit.
Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force

# Delete any empty directories left behind after deleting the old files.
Get-ChildItem -Path $path -Recurse -Force | Where-Object { $_.PSIsContainer -and (Get-ChildItem -Path $_.FullName -Recurse -Force | Where-Object { !$_.PSIsContainer }) -eq $null } | Remove-Item -Force -Recurse

Ve elbette görmek istiyorsan ne dosyaları/klasörleri silinecek önce gerçekten silmek onları, sadece eklenti Attıysa geçiş Kaldır Öğesini çalıştırın çağrı sonunda iki satır.

Kodu burada gösterilen PowerShell v2.0 uyumlu, ama aynı zamanda bu kod ve daha hızlı PowerShell v3 göster.handy reusable functions on my blog 0 kod.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • MrOctopi

    MrOctopi

    6 Aralık 2010