ElegantHLK (优雅硬链接) 🔗 1.0版本更新发布

15 阅读6分钟
  • ElegantHLK (优雅硬链接) 🔗

    一款开源的Windows下的NTFS文件系统的硬链接批量创建和管理工具,常用于运维以及文件备份,空间节省。它能够智能扫描指定目录下的重复文件,并将其一键转换为硬链接,从而在不影响文件正常使用的情况下,最大化释放你的物理磁盘空间。

    软件展示

    v1.0更新

    1. 【最大化】支持窗口最大化和自由拉伸,界面排版自适应调整(就是绑定按钮相对位置的意思)

    2. 【筛选增强】增加高级筛选控件组,支持同时通过【正则黑白名单】和【文件大小区间】进行过滤

    3. 【二次警告】增加高危易变文件(如办公文档、备份文件)的拦截,执行时触发二次警告并提供排除选项

    4. 【筛选增强*2】左右两侧列表全部增加复选框,并分别加上“全选”和“反选”按钮

    5. 【筛选增强*3】左侧列表支持仅勾选指定的文件夹进行查重,右侧支持仅对勾选的文件创建硬链接

    6. 【进度条】修复底部进度条看不完整的bug,现在可以正常显示扫描计算进度

    7. 【迟到的排序】左右两侧列表的所有表头(按名称、按大小等)全部支持双击进行升降序排列

    8. 【史山显示bug修复】修复了空间节省计算的bug,已经硬链接过的文件不再重复计入

    v0.3更新

    1. 所有字号调大2号

    2. 增加进度条(用于显示扫描、添加硬链接的进度)

    3. 二次确认的风险提示增加警示“请不要用于容易被修改的重复文件!”

    4. 版本变成0.3

    5. 列表支持多种排序方式,增加复选框(默认是全选,一键添加所有硬链接)

    6. 如果文件早有硬链接,则空间节省不计入

    00 科普 和 介绍

    什么是硬链接?

    NTFS硬链接就像是给同一个文件起了多个不同的"名字",这些名字都指向硬盘上同一份实际数据,无论通过哪个名字修改,内容都会同步变化。 它跟复制文件完全不同——复制会占用两份空间,而硬链接无论创建多少个,都只占用原文件的那一份磁盘空间。 只有当最后一个"名字"被删除后,文件才真正从硬盘消失,就像一把钥匙配多把锁,必须所有锁都拆了,门才能彻底打开。

    这个程序干什么用的?

    用来文件查重,并且一键删除多余的数据**(不是删除你的文件!)**,可以让我们在不删除文件的情况下,挤出这些重复文件所占的多余空间!

    并且在介绍里我也说了,这个程序可用于文件备份清理硬盘屯屯鼠、以及一些拥有大量存储空间,但是重复文件过多的人群!

    这个程序和市面上那些已有程序有什么优势

    优势可大了! ①我这个程序开源!并且是较为宽松的MIT协议! ②我这个程序可以用列表的形式直观呈现是否硬链接,是否可以创建,还会自动统计一次清除能节省多少空间! ③程序和代码及其小巧!程序本身只有130KB!还不够你一张自拍照大! ④性能极其优越!本程序采用C/C++编写、GUI程序功能使用的是完全的Windows原生api(连SHA256都是!)。使用的GDI+库,让你在高分辨率2K屏、4K屏下都能自适应缩放,完全不会像老程序一样模糊

    怎么看出程序有用的?

    使用程序扫描清理完后,从文件属性看,空间占用似乎不变。可是!请你看看盘符界面,硬盘的空余空间却变大了!这就是有用,这就是真实的空余空间,不是虚假的!

    01✨ 核心功能

    • 重复文件分析:使用 SHA-256 哈希算法,对文件内容进行精确比对,精准找出深层目录结构中的重复文件。(文件夹下所有内容!)
    • 一键批量硬链接转换:一键将所有重复文件转换为硬链接。程序会自动保留每组的第一个文件作为源文件数据,并“永久释放”其余物理文件以释放空间,同时在界面上直观展示总计可省空间。【释放文件数据并不会导致其他地方的文件被删除,而是所有相同文件都会指向同一个数据!这样会节省大量空间,可在硬盘剩余空间展示出效果!】
    • 丰富的类型过滤器:下拉菜单内置了多种常用文件过滤规则,包括:常用视频、高清/蓝光视频、音频、图片素材、执行文件、压缩包以及文档等,也支持自定义 *.* 扫描。我没想搞太多格式的筛选,暂时先添加这么多了
    • 高分屏 (High DPI) 适配:底层通过调用 GDI+ 实现了原生的 SetProcessDPIAware 高分辨率显示支持,确保在现代高分屏显示器上界面清晰锐利。并且,这是原生的GUI绘制方案,不依赖第三方各种庞大的框架,把程序体积控制在150KB以内
    • AHK 自动化脚本集成:提供一键生成 AutoHotkey (AHK) 自动化快捷键脚本 (ElegantHardlink_Hotkey.ahk) 的功能,支持通过快捷键 (Ctrl+H) 快速在外部调用 cmd 执行 mklink 指令。(此部分还没达到真正的方便,似乎有bug,建议别用)
    • 右键上下文菜单:支持在文件列表中右键快速复制文件名、完整路径、SHA256 值,以及在资源管理器中直接定位文件。

    02🛠️ 开发相关信息

    • 开发语言:C/C++
    • 图形界面:原生 Win32 API 和 GDI+
    • 查重算法:Windows CryptAPI (计算 SHA-256)
    • 极佳的兼容性:宏定义 _WIN32_WINNT 0x0501,保持了对早期操作系统(如 Windows XP)的兼容支持,同时解决基础版 XP SDK 隐藏 SHA256 宏的问题。本项目的目的就在于给硬盘数据做极致的空间整理,不管你的电脑有多老!(到xp都行)

    03🚀 快速上手and快速教程

    1. 在顶部下拉框选择需要扫描的 磁盘 或手动输入 地址
    2. 选择需要查找的 文件类型 过滤器(也可以不选)。
    3. 点击 分析文件(查重),等待右侧列表显示出相同 SHA-256 的重复文件组。
    4. 确认无误后,点击 一键创建硬链接 完成物理文件的释放与替换。

    [演示前

    演示后

    📄 许可协议与作者

    作者