Get-ChildItem ile Devasa Diskte Kayıp Dosyaları Avlamak
•
Dosya Yönetimi, powershellPowerShell
Eski MS-DOS dünyasında dir, Linux'ta ls neyse; PowerShell dünyasında Get-ChildItem odur. Lakin yetenekleri sadece listelemekle sınırlı değildir. Sunucunun milyonlarca dosyası içerisinde 1 yıl önceden kalan '.log' uzantılı pislikleri avlamak istediğinizi düşünün.
Derin Avcılık (Recurse Filtreleri)
Klasik bir arama yerine şunu yolluyoruz:
Get-ChildItem -Path C:\ -Filter "*.log" -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-365) }
-Recurse: C#'ın altına gir, her klasörün altına inebildiğin kadar in.-ErrorAction SilentlyContinue: İzin isteme, yetkin olmayan klasör de gelirse hata yazısı sorma atla geç.Where-Object: Getirdiği bu milyonlarca objenin arasından Son Düzenlenme Tarihi 365 gün (1 yıl) öncesinden daha küçük olanlarını (Eskileri) bana dök!
Windows aramasının saatlerce çıldırdığı yerde bu kod satırı sizin diskinizin röntgenini çeker.