Skip to content

About

Duplicate media library cleaner (C#)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

曲库重复文件清理工具 (DuplicateMediaCleaner)

配合 KTV 服务端程序使用的重复曲库清理小工具。简单小巧、运行高效、便携分发,用于找出并一键清理曲库目录下的重复媒体文件与重复文件夹,释放磁盘空间。

  • 技术栈:C# WinForms(.NET 10, Windows)
  • 运行环境:Windows + .NET 10 运行时(Framework-dependent 单文件约 1MB)

功能

重复文件清理

  • 支持导入 ktv_config.json 自动识别其中指定的曲库文件夹,也可手动逐个添加文件夹。
  • 扫描时自动跳过小于设定阈值(默认 100 kB,界面可改)的文件。
  • 判定逻辑:
    1. 先按文件大小分组,找出大小一致的文件(与文件名无关);
    2. 对比文件前 32 kB、中点 32 kB、末尾 32 kB 三处采样字节是否一致(媒体文件无需做耗时的 SHA1/CRC 运算);
    3. 文件不足 96 kB 时直接全文件内容比对。
  • 扫描结果列出所有重复文件分组,支持右键菜单 打开文件 / 打开文件所在位置 以便人工核对。
  • 一键清理:自动删除“创建日期更新”(后进入硬盘)的重复文件,每组只保留一个。删除过程只在状态栏显示进度 已删除 xx/xxxx,列表不做动态渲染,减少资源占用。

重复文件夹清理

  • 单独按钮扫描重复文件夹:
    1. 先找出大小、文件数量一致的文件夹;
    2. 再比对这些文件夹内部文件的相对路径、大小与首尾指纹是否完全相同;
    3. 完全相同则可整个文件夹整组清理,仅保留一份。

删除方式

  • 可选删除到 回收站(可恢复)或 永久删除。
  • 支持中途取消删除操作。

使用说明 / 操作方法

  1. 添加扫描文件夹

    • 点击 导入 ktv_config.json:选择 KTV 服务端的配置文件(如 ktv_config.json),程序会自动解析其中指定的曲库目录并加入列表;若某些文件夹不存在,会提示“已添加、扫描时自动跳过”。
    • 点击 添加文件夹:手动浏览选择要扫描的文件夹。
    • 选中列表中的文件夹后点击 移除选中 可将其去掉。
    • 可在此处调整“忽略 xx kB 以下的文件”的大小(默认 100)。
  2. 扫描

    • 点击 开始扫描(重复文件):查找所有重复的媒体文件。
    • 点击 开始扫描(重复文件夹):查找内容完全相同的重复文件夹。
    • 扫描过程中状态栏会显示进度;如需中止,点击停止/取消按钮。
  3. 核对结果

    • 重复项目会按分组列在下方的列表里。
    • 右键某条记录可选择 打开文件(用默认程序打开)或 打开文件所在位置(在资源管理器中定位),方便人工确认是否确为重复。
  4. 一键清理

    • 勾选删除方式(回收站 / 永久删除)后点击清理按钮。
    • 程序自动删除每组中创建日期较新的重复文件(每组只保留一个);重复文件夹整组也只保留一份。
    • 状态栏显示 已删除 xx/xxxx 的实时进度,可随时取消。

清理到回收站的项可通过回收站找回;永久删除不可恢复,请谨慎操作。

如何构建

项目提供 build.bat 一键构建脚本,产物为 publish\DuplicateMediaCleaner.exe:

build.bat

或手动执行:

dotnet publish DuplicateMediaCleaner.csproj -c Release -r win-x64 --self-contained false -p:PublishSingleFile=true -o publish

构建出的 exe 为框架依赖单文件,需在装有 .NET 10 运行时的 Windows 机器上运行;直接复制该 exe 即可分发。

项目结构

DuplicateMediaCleaner.csproj   项目文件(含版本号等)
Program.cs                     程序入口
MainForm.cs                    主界面(导入/添加/扫描/结果列表/清理)
Scanner.cs                     扫描、查重与删除核心逻辑
app.ico                        程序图标
build.bat                      一键构建脚本

版本

  • v0.8.0:初版。支持重复文件扫描清理、重复文件夹比对清理、大小阈值过滤、三段采样指纹、右键打开文件、删除进度提示等。

About

Duplicate media library cleaner (C#)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages