Forum

PowerShell ile Beli...
 
Bildirimler
Hepsini Temizle

PowerShell ile Belirli Tarihten Önceki "KLASÖRLERI" silme

3 Yazılar
2 Üyeler
0 Reactions
2,918 Görüntüleme
(@YasinSultanoglu)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

Merhaba,

 

Powershell ile 30 günden eski KLASÖRLERİ ve tabiki alt klasörlerini de silmek istiyorum. 

 

Yapı Şöyle : Sunucunu D: sürücüsünde d:\taramalar, d:\genelpaylaşim ve d:\muhasebe olarak 3 ayrı klasörüm var. bunları her akşam \\freenas\Serveryedek\$date adı altında robocopy ile kopyalamaktayım. Bu 3 klasör üçerisinde çok eski ve yeni dosyalar var.

 

Freenas içerisinde oluşturulan günlük klasörlerin 30 günden eskilerini sildirmek istiyorum.

 

Nasıl bir komut ile yaptırabilirim.

 
Gönderildi : 11/01/2019 12:58

(@umitseyhan)
Gönderiler: 367
Üye
 

Merhaba Yasin Bey,

 

Aşağıdaki PS ile 30 günden eskilerini sildirme işlemini gerçekleştirebilirsiniz.

 $Path değişkeni içerisindeki $date değerini kendi tarih formatınızda yazdırılması gerekli.

 

Set-Executionpolicy RemoteSigned
$days=30

$Path="\\freenas\Serveryedek\$date"
Function CleanLogfiles($TargetFolder)
{
write-host -debug -ForegroundColor Yellow -BackgroundColor Cyan $TargetFolder

if (Test-Path $TargetFolder) {
$Now = Get-Date
$LastWrite = $Now.AddDays(-$days)
$Files = Get-ChildItem $TargetFolder -Recurse | where {$_.lastWriteTime -le "$lastwrite"} | Select-Object FullName
foreach ($File in $Files)
{
$FullFileName = $File.FullName
Write-Host "Deleting file $FullFileName" -ForegroundColor "yellow";
Remove-Item $FullFileName -ErrorAction SilentlyContinue | out-null
}
}
Else {
Write-Host "The folder $TargetFolder doesn't exist! Check the folder path!" -ForegroundColor "red"
}
}
CleanLogfiles($Path)

 

Bilginize.

 
Gönderildi : 11/01/2019 15:38

(@YasinSultanoglu)
Gönderiler: 25
Eminent Member
Konu başlatıcı
 

Cevabınız için teşekkür ederim.

 

Göndermiş olduğunuz kodu kopyalarak yedekleme dosyama ekledim. Fakat istediğim silme işlemini yapamadı.

  1. Silme işlemi için her eski klasör için onay istedi.
  2.  Klasörün içerisindeki, örneğin 20 gün eski klasörleri sil dediysem o klasördeki 20 gün eskileri siliyor. Yenilerini Bırakıyor.
  3.  Silme işlemini uyguladığı klasörün değiştirme tarihini bugün yapıyor.

 

 
Gönderildi : 11/01/2019 19:25

Paylaş: