Управление файлами

Автосортировка файлов по расписанию: раскладываем Downloads по папкам

Папка Downloads превратилась в свалку из 500+ файлов? Макрос, запускающийся каждый вечер, раскладывает всё по местам — без вашего участия.

Хаос в Downloads

Downloads — самая запущенная папка на большинстве компьютеров. PDF-документы, скриншоты, установщики, ZIP-архивы, случайные файлы — всё в куче. Поиск нужного файла через месяц превращается в квест. Типичный сценарий: 500–1000 файлов в Downloads, из которых реально нужны 10%.

Вместо ручной уборки раз в квартал — автоматическая сортировка каждый вечер. Папка всегда в порядке, нужные файлы находятся мгновенно.

Правила сортировки

Определяем правила для макроса:

  • .pdf, .docx, .xlsx, .pptxДокументы\Загружено
  • .jpg, .jpeg, .png, .gif, .webpИзображения\Загружено
  • .zip, .rar, .7z, .tarАрхивы
  • .exe, .msiУстановщики (с отдельным предупреждением)
  • Всё остальное старше 30 дней → Корзина или архивная папка

PowerShell через Repio

Самый мощный способ — запустить PowerShell-скрипт через Repio. Repio открывает PowerShell, передаёт команды сортировки, закрывает. Скрипт создаёт папки если их нет и перемещает файлы по типу.

$docs = "$env:USERPROFILE\Documents\Downloaded"
$imgs = "$env:USERPROFILE\Pictures\Downloaded"
$arch = "$env:USERPROFILE\Downloads\_Archives"
@($docs,$imgs,$arch) | ForEach-Object {
    if (!(Test-Path $_)) { New-Item -ItemType Directory $_ }
}

$dl = "$env:USERPROFILE\Downloads"
# Документы
Get-ChildItem $dl -File | Where-Object {
    $_.Extension -in '.pdf','.docx','.xlsx','.pptx'
} | Move-Item -Destination $docs
# Изображения
Get-ChildItem $dl -File | Where-Object {
    $_.Extension -in '.jpg','.jpeg','.png','.gif','.webp'
} | Move-Item -Destination $imgs
# Архивы
Get-ChildItem $dl -File | Where-Object {
    $_.Extension -in '.zip','.rar','.7z'
} | Move-Item -Destination $arch
# Удаляем старые файлы (> 30 дней)
Get-ChildItem $dl -File | Where-Object {
    $_.LastWriteTime -lt (Get-Date).AddDays(-30)
} | Remove-Item
Внимание: сначала тестируйте без Remove-Item — добавьте -WhatIf вместо него. Скрипт покажет что будет удалено, не трогая реальные файлы.

Расписание: каждый вечер в 22:00

Планировщик задач → новая задача → триггер «Ежедневно, 22:00» → действие: запустить powershell.exe -File "C:\Scripts\organize-downloads.ps1". Или запустить через Repio если хотите добавить уведомление по окончании сортировки.

Советы

  • Добавьте логирование в .txt файл: что было перемещено и когда. Пригодится если что-то «пропадёт».
  • Никогда не включайте в автосортировку рабочий стол — там часто лежат файлы которые нужны немедленно.
  • Для установщиков (.exe, .msi) не удаляйте автоматически — лучше перемещайте в отдельную папку Установщики для ручного решения.

Готовы навести порядок автоматически?

Скачайте Repio бесплатно и создайте первый макрос за 10 минут. Без кода.

Скачать Repio бесплатно