OmniSort
Windows 10 / 11 · только локально · без установки

Прежде чем сдвинуть хоть один файл,
покажет, куда попадёт каждый

Она проходит по папке «Загрузки», раскладывает по расширению, имени, дате и размеру и в каждой строке пишет «почему именно эта папка» — ещё до того, как что-то сдвинется. Перемещается только то, что вы одобрили, и всё это можно вернуть.

  • Перед перемещением показывает назначение и причину для каждого файла
  • Переместит только отмеченное и вернёт всё одним махом
  • Никогда не перезаписывает: если файл уже есть, ядро отклоняет перемещение
  • Один файл, без установки — всё происходит на этом компьютере
Скачать OmniSort.exe
v0.2.9 Один исполняемый файл 100 000 файлов ≈ 49 с Тестов: 1,462
C:\Users\me\Downloads выбрано 6 · 152 КБ
Выбор Файл Новое место Причина
договор_ACME_2026.pdf Documents/Contracts расширение .pdf · имя «договор»
ACME-invoice-0312.pdf Documents/Invoices расширение .pdf · имя «инвойс»
screenshot 2026-09-10.png Images/Screenshots расширение .png · имя «снимок»
продажи_сентябрь.xlsx Spreadsheets расширение .xlsx
playlist-bounce.mp3 Audio расширение .mp3
⚠ смета_итог.pdf Documents/Quotes написано .pdf, а внутри программа
заметки.txt Documents имя занято → заметки (1).txt
unknown-blob.qqq Other неизвестное расширение
VSCodeUserSetup-x64.exe Installers расширение .exe
перемещаются только отмеченные строки Предпросмотр Разложить
Как это работает

Анализ → предпросмотр → уборка

Три шага идут строго по порядку. Пока анализ не закончен, ни один файл не трогается, и без вашего согласия ничего не двигается.

1

Анализ

Папки читаются в фоне. Скрытые и системные файлы, символические ссылки и папки вроде node_modules остаются в стороне. Отменить можно в любой момент.

2

Предпросмотр

Файл, где лежит, куда попадёт и почему — всё в одной таблице. Совпадения имён помечены заранее, а флажки ставите вы.

3

Разложить

Перемещается только отмеченное, и каждое перемещение записывается. Не понравилось — одно [Отменить], и всё возвращается на место.

Возможности

Только то, что нужно для уборки, — и сделано как следует

Ваши правила всегда первые

Собирайте правила из масок, регулярных выражений, расширений, размера или возраста и задавайте им приоритет. договор* → Documents/Contracts.

Разбор, который показывает свои доводы

В каждой строке видно, как принято решение: «расширение .pdf → Документы · имя „инвойс“ → Invoices».

Отменить

Источник и назначение пишутся по операциям и раскручиваются в обратном порядке. Если на прежнем месте появился другой файл, пункт пропускается, а не перезаписывается.

Когда имена совпадают

При совпадении имени получится отчёт (1).pdf либо файл будет пропущен. Перезаписи не бывает ни при каких условиях.

Исключения

Всё, что трогать не надо, выносится правилом: *.crdownload, файлы меньше заданного размера, целые папки.

Уборка по расписанию

Каждый день в выбранное время: только анализ или сразу перемещение. Одна строка — schedule --install — и задание в планировщике готово.

Длинные и нелатинские пути

Пути длиннее 260 символов идут через префикс \\?\, а корейские, японские и китайские пути обрабатываются как есть.

Поддельные расширения на виду

«Смета.pdf», которая на деле программа, или двойное расширение вроде счёт.pdf.exe получают ⚠. Первые 512 байт читаются только у тех расширений, которые есть смысл подделывать.

Найти дубликаты файлов

Сначала размер, потом по 64 КБ хеша с каждого конца, потом весь файл — три прохода, и в корзину уходят только копии. Оригинал выбирается по имени и остаётся.

Журнал

Каждый анализ и каждое перемещение попадают в SQLite. В operation_items по строке на файл: откуда, куда, состояние, причина, ошибка.

Готовые наборы правил

Наборы правил для студентов, офисных работников, разработчиков, фото и дизайна добавляются одним махом. Перед добавлением видно, что куда попадёт, а ваши собственные правила всегда применяются первыми.

Место на диске

Показывает большие файлы, давно не тронутые файлы, объём по категориям и свободное место на диске — только просмотр. Убираются лишь выбранные файлы, и только в корзину.

Статистика по месяцам

В панели администрирования видно, сколько убрано по месяцам, общую долю успешных операций и объём, освобождённый через корзину. Правила можно экспортировать в JSON и перенести на другой компьютер.

Окно, которое не зависает

Анализ и перемещение идут в рабочих потоках: около 5 секунд на просмотр и разбор 10 000 файлов. Отмените на полпути — запись всё равно останется.

Правила разбора

Шесть шагов, строго по очереди

Если шаг наверху решил, нижние даже не спрашивают. Дата и размер лишь добавляют вложенную папку, когда категория уже определена.

  1. Ваши правиладоговор* → Documents/Contracts
  2. Расширение.xlsx → Spreadsheets
  3. Шаблоны имён*invoice* → Documents/Invoices
  4. ДатаImages/2026/09
  5. РазмерVideos/Large
  6. Разбор содержимого (по желанию)только первые 8 КБ текста
КатегорииРасширение
Документыpdf doc docx hwp hwpx txt md rtf odt
Изображенияjpg jpeg png webp gif bmp svg heic
Видеоmp4 mov avi mkv webm
Аудиоmp3 wav flac m4a ogg
Архивыzip 7z rar tar gz
Таблицыxls xlsx csv ods
Презентацииppt pptx odp
Установщикиexe msi msix
Прочеевсё остальное (без разбора)
Окно

Одна таблица — и проверка закончена

Отфильтровали поиском, правым щелчком проверили файл в Проводнике — и переместили только отмеченное.

OmniSort
Окно OmniSort: список папок, сколько файлов найдено и сколько к уборке, и таблица предпросмотра со столбцами «файл», «где лежит», «куда попадёт», «причина» и «размер»
Настоящий сеанс · 21 файл из 22 к уборке. Строка с ⚠ — файл, содержимое которого не совпадает с расширением
Отчёт

Что и когда переехало — на одной странице

Одна кнопка (или omnisort-cli report) — и всё, что было убрано, сохраняется одной HTML-страницей. Ни сервера, ни интернета: храните или передавайте как есть.

Уборок128
Перемещено файлов4312
Перемещённый объём62.4GB
Возвращено37
Ошибок2
Пропущено19
Документы1,842
Изображения1,306
Архивы604
Видео351
Прочее209
IDТипВремяСостояниеУспешно/Всего
#128Переместить09-11 03:00Готово412/412
#127Отменить09-10 21:14Отменено37/37
#126Переместить09-10 03:00Частично298/300
#125Корзина09-09 18:02Готово64/64
Безопасность

Не удаляет. Не перезаписывает.

Ошибка программы для уборки — это потерянные данные. Поэтому всё, что нельзя отменить, сюда просто не попало.

  • Никогда не удаляет навсегдаУдаление — это всегда корзина. Даже опустевшие после уборки папки отправляются туда, а не исчезают.
  • Никакой перезаписи — это гарантирует ядроПеремещение запрашивается так, что ядро откажет, если там уже что-то есть. Даже если файл появится между проверкой и перемещением, чужой файл не пострадает.
  • Ещё одна проверка перед самым перемещениемЕсли после предпросмотра изменился размер или время правки, либо файл стал ссылкой, его не трогают.
  • Системные папки — не трогаемЗащищённые пути отклоняются уже при добавлении папки и пропускаются, если анализ на них наткнётся.
  • До перемещения видно всёОткуда, куда и есть ли совпадение имён — всё на виду; обрабатываются только отмеченные строки.
  • Сначала запись, потом перемещениеКаждый пункт сначала пишется в базу, потом перемещается. Выключится питание на полпути — останется запись, докуда дошло.
  • Файлы, в которые пишут, остаются нетронутымиФайлы, которые ещё качаются (.crdownload, .part) или только что изменились, пропускаются сами.
  • Даже прерванное можно отменитьЕсли программа умрёт посреди уборки, при следующем запуске она выяснит, докуда дошла, и приведёт всё в состояние, которое можно отменить.
  • По ссылкам не ходитЧерез символическую ссылку или соединение наружу не выходит, а назначение, путь к которому проходит через них, отклоняет.
  • За пределы корневой папки не выйтиВ правилах нельзя использовать .., абсолютные и сетевые пути; а если итоговый путь выходит за корневую папку, ничего не перемещается.

Места, которые никогда не станут назначением

  • C:\Windows
  • C:\Program Files
  • C:\Program Files (x86)
  • C:\ProgramData
  • %LOCALAPPDATA% · %APPDATA%
  • C:\$Recycle.Bin
  • System Volume Information
  • корень диска (C:\)
CLI и расписание

Консольная версия, которую можно повесить на планировщик заданий

Та же база данных и те же правила, что и в окне. Без --apply не сдвинется ни один файл.

omnisort-cli.exe
# добавить папку для уборки
omnisort-cli add "C:\Users\me\Downloads"

# только посмотреть, что куда попадёт (ничего не двигается)
omnisort-cli preview

# добавить правила: договоры в Contracts, недокачанные файлы исключить
omnisort-cli rules add --name договор --glob "договор*" --target Documents/Contracts
omnisort-cli rules add --name временные --glob "*.crdownload" --exclude

# убрать по-настоящему · отменить · посмотреть журнал
omnisort-cli run --apply --yes
omnisort-cli undo
omnisort-cli history

# найти дубликаты · оставить оригинал, остальное в корзину
omnisort-cli duplicates
omnisort-cli duplicates --trash

# большие и старые файлы, место на диске (только просмотр)
omnisort-cli space --old-days 365

# список наборов правил · добавить набор для студентов
omnisort-cli rules preset
omnisort-cli rules preset student

# сохранить предпросмотр в CSV (открывается в Excel)
omnisort-cli export plan.csv

# каждый день в 03:00 — одной строкой, вместе с планировщиком заданий
omnisort-cli config schedule_time 03:00
omnisort-cli schedule --install
omnisort-cli schedule --check
Сравнение

Переместить легко — трудно, когда переместили не туда

Программы, которые следят за папкой и сразу раскладывают файлы по правилам, работают быстро, но что куда попало, вы узнаёте только потом. OmniSort меняет порядок на обратный.

Сравнение: уборка вручную, программы, сразу перемещающие файлы по правилам, и OmniSort
Критерий Вручную Автосортировка по правилам OmniSort
Видно назначение до перемещения Решаете сами Узнаёте уже после перемещения Назначение и причина для каждого файла
Если переместили не туда Полагаетесь на память Зависит от программы Отменяет операцию целиком, даже давнюю
Файл с таким же именем Полагаетесь на предупреждение о перезаписи Зависит от программы Не перезаписывает ни при каких условиях
Файл с поддельным расширением Трудно заметить Содержимое не проверяется Читает содержимое и ставит ⚠
Убрать дубликаты и большие файлы По одному в Проводнике Нужна отдельная программа В одной программе и только в корзину
Интернет и учётная запись Не нужны Зависит от программы Не нужны, по умолчанию наружу ничего не уходит
Скачать

Скачали — и сразу запускаете

Установщика нет. Положите один исполняемый файл в любую папку и запустите — вот и всё.

Три шага

  1. Скачайте OmniSort.exe со страницы релизов (а для командной строки — ещё и omnisort-cli.exe)
  2. Положите файл в любую папку и запустите двойным щелчком
  3. Добавьте папку Downloads кнопкой [+ Добавить] и нажмите [Анализ]
Скачать OmniSort.exe

v0.2.9 · 30.1 MB · SHA-256 96ba622ce28ed5aa4bb1484a0112c71e68a072caf1ea913351865beda9d1d6ad

Есть и папочная сборка

Та же программа, но библиотеки Qt лежат отдельно, в папке _internal. Их можно заменить на любую сборку (LGPL-3.0). Попробуйте и эту, если антивирус блокирует однофайловую.

Скачать zip папочной сборки

OmniSort-0.2.9-folder.zip · 40.4 MB · SHA-256 b1ed3405bbe6bc91a2fe34e95a07a2f7618f0789ccd37ba2f415cf32c70c07a8

Что нужно

Операционная система
Windows 10 / 11 (64-разрядная)
Установка
Не нужна · права администратора тоже не нужны
Интернет
Не нужен · используются только включённые вами онлайн-функции
Что остаётся
Исполняемый файл, DB-файл с журналом и маленький файл-метка в убранных папках

Если появилось окно «Система Windows защитила ваш компьютер»

OmniSort подписан цифровой подписью, но у только что вышедшей версии пока мало загрузок, поэтому SmartScreen какое-то время может просить подтверждение. Нажмите [Подробнее], проверьте, что издатель — PROJECTTEAMFORYOU, а затем нажмите [Выполнить в любом случае]. Если имя издателя другое или его нет, не запускайте программу.

Чтобы убедиться, что скачанный файл совпадает с опубликованным, откройте PowerShell в папке с exe, выполните команду ниже и сравните полученное значение с SHA-256 на странице релизов.

Get-FileHash .\OmniSort.exe -Algorithm SHA256

Если антивирус блокирует

Однофайловый OmniSort.exe хранит программу и всю библиотеку Qt внутри себя в сжатом виде. При запуске он их распаковывает.

Машинное обучение некоторых антивирусов читает это как «сам распаковывается и запускается». Поэтому файл иногда помечают общим именем вроде Wacatac или Dropper.Agent. Для программ на Python это частое ложное срабатывание.

Сначала сверьте SHA-256 выше, чтобы убедиться, что полученный файл — тот, который мы опубликовали. Ещё посмотрите в свойствах файла, что издатель — PROJECTTEAMFORYOU.

Если оба совпали, попробуйте zip папочной сборки. Это другой файл, без сжатого блока внутри, и оценка может отличаться.

Всё равно блокирует? Напишите на projectteamforyou@gmail.com, укажите антивирус и показанное им имя. Заявку о ложном срабатывании подадим мы.

Что изменилось

Что и когда изменилось

Даты — по корейскому времени (KST). Подробности есть и внутри программы.

  • KSTv0.2.9 Можно выбрать вид папок по датам — 2026/09 · 2026-09 · 2026
  • KSTv0.2.8 Проверка версии · подсказки правил · присмотр за папками
  • KSTv0.2.7 Исправлена неверная подпись в окне администратора и предупреждение о правах
  • KSTv0.2.6 Загрузки теперь идут прямо от нас
  • KSTv0.2.5 Цвета программы сведены с этой страницей, папочная сборка вынесена на вид
Вопросы

Что полезно знать заранее

Файлы куда-то отправляются в интернет?

Нет. Анализ, разбор, перемещение и записи заканчиваются на этом компьютере, и ни имена файлов, ни пути наружу не уходят. Настройки и журнал умещаются в один файл: %LOCALAPPDATA%\OmniSort\omnisort.db.

Он совсем не выходит в интернет?

По умолчанию включено только одно — проверка новой версии. Раз в день она спрашивает, унося с собой лишь номер версии: ни имён файлов, ни путей, ни количеств. При первом запуске мы сообщаем, что она включена, и её можно выключить прямо в уведомлении. Новости и число загрузок запрашиваются, только если вы их включите. В окне администратора перечислены все используемые адреса.

Вы считаете визиты и загрузки?

Считаем. Цифры Всего визитов и Скачать выше — это они и есть: мы их показываем, а не прячем. Наш сервер хранит только дату, двухбуквенный код страны и какую сборку забрали. Ни IP, ни названия браузера, ни источника перехода. Каждая строка — сумма по многим людям, проследить до одного нельзя. Единственное, о чём программа сама спрашивает наружу, — проверка новой версии.

Вдобавок эта страница использует Cloudflare Web Analytics. Мы включили её, чтобы видеть, какие страницы читают; при этом источник перехода, тип браузера и страна уходят в Cloudflare. Она не ставит cookie и не строит отпечаток устройства, но мы пишем прямо: это единственное, что покидает наш собственный сервер.

Это бесплатно?

Да. Пользоваться можно бесплатно, без учётной записи и оплаты. По умолчанию рекламы тоже нет. Если в панели администрирования включить получение объявлений и придёт рекламное сообщение, оно будет помечено «Реклама».

«Место на диске» удаляет файлы?

Нет. «Место на диске» только смотрит. В корзину уходят лишь файлы, которые вы сами выбрали в списке и подтвердили, и из корзины их можно вернуть. То, что не может попасть в корзину, — например, файлы на сетевом диске или съёмном носителе вроде USB-флешки либо файлы больше самой корзины, — не отправляется, и программа об этом сообщает.

А если результат не понравится?

Нажмите [Отменить] — и последняя операция раскручивается в обратном порядке. Можно выбрать в журнале и более раннюю операцию. Если на прежнем месте уже появился файл с тем же именем, именно этот пункт пропускается, а не перезаписывается, — и вам скажут, какие пропущены и почему.

Не будет ли он снова и снова убирать те же папки?

На папках, созданных OmniSort, остаётся метка, и при следующем анализе они пропускаются. Файлы, уже лежащие на своих местах, тоже выпадают из списка.

А если файл занят или не хватает прав?

Именно этот пункт помечается как неудачный, остальное идёт дальше. Причина видна в журнале, а файл остаётся ровно там, где был.

Нужно ли что-то устанавливать?

Скачиваете OmniSort.exe и запускаете. Права администратора не нужны, в реестр ничего не пишется. Чтобы убрать — удалите exe и папку с базой данных выше. Если включали уборку по расписанию, сначала снимите задание в планировщике командой omnisort-cli schedule --uninstall.