leafleafleafDocy banner shape 01Docy banner shape 02Man illustrationFlower illustration

Удаление устаревших файлов с учетом минимального количества файлов

Время чтения: 1 мин. 1082 просмотров

Данный скрипт позволяет автоматически удалять файлы в каталоге, возраст которых превышает заданное количество дней. Однако, если общее количество файлов в каталоге меньше установленного порога, удаление не будет выполнено. Скрипт может быть полезен для управления архивами, например, при удалении старых резервных копий 1С или других систем.

Основные параметры:

  • $path – массив, содержащий пути к каталогам, где находятся файлы;
  • $liveTimeDays –  период хранения файлов в днях. Все файлы, которые старше этого срока, будут помечены для удаления;
  • $minFileCounts – минимальное количество файлов, которые должны остаться в каталоге, даже если они старше указанного срока хранения в переменной $liveTimeDays.
				
					$path = @('С:\PATH_1', 'F:\PATH_2');
$liveTimeDays = 7;
$minFileCount = 7;

for ($index = 0; $index -lt $path.count; $index++)
{
    # Проверка на существование каталога
    if (-not (Test-Path -Path $path[$index])) {
        continue;
    }
    # Получаем дату с которой удалять файлы
    $date = (Get-Date).AddDays($liveTimeDays * -1)
    # Получаем отфильтрованные по дате файлы исключая каталоги
    $files = Get-ChildItem -Recurse -Path $path[$index] | Where-Object { -not $_.PSIsContainer } | Where-Object -Property CreationTime -lt $date;

    foreach ($file in $files) {
        $dirs = Get-ChildItem $path[$index] -Recurse | Where-Object { -not $_.PSIsContainer };
        if ($dirs.Count -le $minFileCount) {
            continue;
        }
        Write-Output $file.FullName
        Remove-Item $file.FullName
    }
}
				
			

В этом примере из каталогов C:\PATH_1 и F:\PATH_2, а также их подкаталогов, будут удалены все файлы, возраст которых превышает 7 дней. Если в каком-либо каталоге окажется менее 7 файлов, удаление в этом каталоге произведено не будет.

Запуск скрипта можно настроить с помощью Планировщика задач Windows. Инструкции по настройке можно найти в документации.

Leave a Comment

Поделиться этой страницей

Удаление устаревших файлов с учетом минимального количества файлов

Или скопируйте ссылку

СОДЕРЖИМОЕ