FolderWatcher (Folder Watcher) - это программное обеспечение для сравнения содержимого директорий, отслеживания изменений, создания снапшотов и сравнения текущего содержимого с ранее сохраненными слепками.
- Сравнение содержимого заданных директорий
- Создание слепков (снапшотов) директорий
- Сравнение текущего содержимого директории с ранее сохраненным слепком
- Отображение изменений в директориях
- Отслеживание в реальном времени изменений файлов и директорий
Программа обладает интуитивно понятным GUI, вдохновленным лучшими практиками от таких приложений как Total Commander, 7zip и WinRAR.
Снапшоты директорий содержат:
- Имена поддиректорий и файлов
- Размер файлов/директорий
- Контрольные суммы файлов и директорий (SHA-256, SHA512, MD5)
- Контрольные суммы всего содержимого директории
- Информацию о наличии у файлов/директорий альтернативных потоков файловой системы, включая размер, контрольные суммы и имена
- Времена создания, последнего изменения и доступа к файлам/директориям
Программа разработана на Qt C++, использует Qt версии 6 и среду разработки Qt Creator. Сборка проекта осуществляется с помощью qmake. Реализация включает в себя:
- основной класс главного окна MainWindow, наследующийся от QMainWindow;
- класс окна сравнений снапшотов CompareWindow, наследующийся от QWidget;
- класс окна загрузки LoadingWindow, наследующийся от QMessageBox;
- класс HashSum для вычисления контрольных сумм файлов и папок, использующий WinAPI и являющийся производным от QObject;
- класс RealTimeWatcher для отслеживания изменений в директориях в реальном времени, который так же использует функционал WinAPI и наследуется от QObject;
- класс Snapshots для создания и сравнения снапшотов (слепков) директорий, который является производным так же от QObject. Методы экземпляров классов HashSum и RealTimeWatcher запускаются в отдельных потоках для оптимизации производительности и исключения зависания главного окна.
Скачать последний релиз можно здесь.
Если у вас возникли сложности или вопросы по использованию приложения, создайте обсуждение в данном репозитории.
Название | Описание |
---|---|
docs | Обновление документации |
feat | Добавление нового функционала |
fix | Исправление ошибок |
refactor | Правки кода без исправления ошибок или добавления новых функций |
revert | Откат на предыдущие коммиты |
style | Правки по кодстайлу (табы, отступы, точки, запятые и т.д.) |
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.