Notefix/2.Areas/Системне адміністрування/Чистка старих замовлень в паппці.md

1.8 KiB
Raw Blame History

Код для Power Shell

#Дата з якою порівнювати. У цьому випадку -7 днів від поточної дати.
$date = (Get-Date).AddDays(-7)
#Шлях до директорії звідки видаляти файли
$path = "D:\WORK\Замовлення"
#Розташування звіту 
$report = "D:\WORK\Замовлення\file_list.txt"

#Працюємо з файлами
#Виведення списку всіх файлів без папок (в т.ч. усередині папок) старше значення $date
$filelist = Get-ChildItem -Recurse -Path $path -file | Where-Object -Property CreationTime -lT $date  
$filelist  | Sort-Object -Property CreationTime | ft CreationTime ,VersionInfo | tee $report
#Видаляємо файли
$filelist | Remove-Item -Recurse

#Працюємо з каталогами
#Виведення списку всіх порожніх директорій(де немає ні файлів ні директорій) старше ніж дата $date 
$folderlist =  Get-ChildItem -Recurse -Path $path -Directory | Where-Object -Property LastWriteTime -lT $date | where { $_.psiscontainer -eq $true -and $_.GetFiles().count -eq 0 -and $_.GetDirectories().count -eq 0 } 
#Виведення списку порожніх директорій (де немає файлів, але є директорії) старше за дату $date 
#$folderlist =  Get-ChildItem -Recurse -Path $path -Directory | Where-Object -Property LastWriteTime -lT $date | where { $_.psiscontainer -eq $true -and $_.GetFiles().count -eq 0 } 
#$folderlist | Sort-Object -Property LastWriteTime | ft LastWriteTime ,FullName | tee $report -Append
#Видаляємо каталоги
$folderlist | Remove-Item -Recurse

#Power_Shell