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

  • itfigueres

    itfigueres

    12 EKİM 2013
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • tinycammonitor

    tinycammonit

    14 Aralık 2010