Forum
Merhaba,
İşletim sistemi : Win7_64
DATA diye bir klasörüm var. Bu klasörün içine otomatik build alıyorum. Her bir build de klasörün içine yazilimin versionu ve tarih saat bilgisini içeren bir klasör oluşuyor ve bu klasörler gittikçe çoğalıyor...
DATA klasörünün içinde sadece 10 adet release kalmasını istiyorum. Yani 10 adet klasör klasın istiyorum. 11 olduğunda en eski yaratılan klasörü silsin.
Bunu bir script yardımıyla zamanlanmis gorev olarak eklemeyi planliyorum.
Bu yonde calisma yapan arkadaslarin yardimlarini bekliyorum.
Tesekkurler.
powershell ile yapabilirsiniz bır test edın ıstersenız
saygılarımla
$path = "C:\TCozumPark"
# test dosyaları olustur
1..20 | % {
Remove-Item -Path "$path\$_.txt" -ea SilentlyContinue
$_ | Out-File "$path\$_.txt"
Start-Sleep -Seconds 1
}
$files = Get-ChildItem -Path $path -Recurse | Where-Object {-not $_.PsIsContainer}
$keep = 10
if ($files.Count -gt $keep) {
$files | Sort-Object CreationTime | Select-Object -First ($files.Count - $keep) | Remove-Item -Force -WhatIf
}
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Hocam merhaba cevabınız için çok teşekkürler.
Sonuca ulasamadim.
1 den 20 e kadar txt dosyalari olusturuyor. \\ buna ihtiyacim yok build i Jenkins aliyor.
Sadece jenkinsin olusturdugu KLASÖRleri DATA dosyasında 10 adet olacak sekilde saklamak. 11 oldugunda en tarih olarak eski klasörü silmek istiyorum.
burada zaten bır sılme ıslemı mevcut ama
elect-Object -First ($files.Count - $keep) conditionu değiştirmeniz kendinize göre uyarlamanız gerekmekte.
if ($files.Count -gt $keep) {
$files | Sort-Object CreationTime | Select-Object -First ($files.Count - $keep) | Remove-Item -Force -WhatIf
}
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Selamlar
Arkadaşın vermiş olduğu betiği, test klasörünüzde sadece klasörler için şu satırı güncelleyerek dener misiniz?
...
$files = Get-ChildItem -Path $path | Where-Object {$_.PsIsContainer}
...
değiştirerek dener misiniz?
Son satırın sonundaki
" -WhatIf" işlemi yapıyormuş gibi size bilgi verecektir ama silme yapmayacaktır.. Sildirme işlemi yapmak istediğinizde bunu kaldırınız ya da önüne "#" koyunuz.
İyi çalışmalar
__________________________________ Gelecek, Açık. The Future is Open. https://hcaglar.blogspot.com