Приложение для автоматизированного копирования MP3-файлов на съёмные носители с интеллектуальным управлением дубликатами.
- Чтение метаданных: Автоматическое извлечение ID3-тегов (исполнитель, альбом, год) через TagLibSharp
- Три режима копирования:
- По исполнителю →
/{Исполнитель}/{Альбом} ({Год})/{Треки} - По альбому →
/{Альбом} ({Год})/{Исполнитель}/{Треки} - Плоская структура →
/{Треки}
- По исполнителю →
- Защита от дубликатов: Сравнение файлов по SHA256 хешу перед копированием
- Асинхронная работа: Неблокирующий UI с прогресс-барами и поддержкой отмены операции
- Мониторинг диска: Отслеживание свободного места в реальном времени
- .NET 8.0
- Windows Forms
- C# 12
- TagLibSharp 2.3.0 (работа с ID3-тегами)
MusicFlashDrive/
├── MusicFlashDrive.sln # Решение Visual Studio 2022
├── src/
│ ├── MusicFlashDrive/ # WinForms приложение
│ │ ├── MainForm.cs # Главный экран с выбором папки и режима
│ │ ├── ProgressForm.cs # Окно прогресса копирования
│ │ └── Program.cs # Точка входа
│ └── FileOperation/ # Библиотека операций с файлами
│ ├── FileCopier.cs # Логика копирования с 3 режимами
│ ├── FileHashComparer.cs # Сравнение по SHA256
│ └── ID3Reader.cs # Чтение ID3-тегов
└── README.md
- Windows 10/11
- .NET 8.0 SDK
- Visual Studio 2022 (опционально)
cd src/MusicFlashDrive
dotnet restore
cd ../FileOperation
dotnet restoredotnet build MusicFlashDrive.slndotnet run --project src/MusicFlashDrive/MusicFlashDrive.csproj- Подключите съёмный носитель (USB-флешку)
- Запустите приложение
- Выберите папку с MP3-файлами
- Выберите режим организации файлов:
- По исполнителю: Группировка по артистам
- По альбому: Группировка по альбомам
- Плоский список: Все треки в одной папке
- Нажмите "Копировать" и отслеживайте прогресс
Перед копированием каждый файл проверяется:
- Вычисляется SHA256 хеш исходного файла
- Сравнивается с хешами файлов в целевой папке
- Копируются только уникальные файлы
Это исключает дублирование даже при разных именах файлов.
MainForm: Управление выбором папки, режима и запуском копированияProgressForm: Отображение прогресса, скорости копирования, свободного места
FileCopier: Реализация 3 стратегий копированияFileHashComparer: Побайтовое сравнение через SHA256ID3Reader: Извлечение метаданных из MP3
MIT