# MkLink软链接 **Repository Path**: devret/mklink ## Basic Information - **Project Name**: MkLink软链接 - **Description**: MkLink是一款基于JavaFX开发的Windows系统盘空间清理工具,通过创建目录软链接(Ntfs软链接)将占用空间大的文件夹迁移到其他磁盘,从而释放宝贵的系统盘空间。 - **Primary Language**: Java - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://gitee.com/devret/mklink - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 3 - **Created**: 2023-08-20 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MkLink软链接工具 [English Version](README.en.md) ## 介绍 MkLink是一款基于JavaFX开发的Windows系统盘空间清理工具,通过创建目录软链接(Ntfs软链接)将占用空间大的文件夹迁移到其他磁盘,从而释放宝贵的系统盘空间。 ### 背景 许多应用程序会在系统盘(C盘)生成配置文件和缓存数据,特别是在以下目录中: - C:\Users\用户名\AppData\Local\xxxx - C:\Users\用户名\AppData\Roaming\xxx 随着时间推移,这些文件夹会占用大量系统盘空间。MkLink工具通过创建软链接的方式,将这些文件夹迁移到其他磁盘,同时保持应用程序的正常运行。 ### 功能特点 1. 图形化界面操作,简单易用 2. 自动迁移文件夹、文件夹 3. 创建NTFS软链接,对应用程序透明 4. 支持多线程处理,提高大文件夹处理效率 5. 多语言支持(中/英文界面) 6. 实时日志输出,便于监控操作过程 ## 软件架构与原理 ### 技术架构 - **开发语言**: Java 11 - **界面框架**: JavaFX - **构建工具**: Maven - **工具库**: Hutool - **打包方式**: [exe4j](https://exe4j.apponic.com/) + [Inno Setup](https://jrsoftware.org/isdl.php) ### 工作原理 当需要将源目录迁移到目标位置时,工具按以下步骤执行: 1. 扫描源目录下的所有文件和子目录 2. 将文件和子目录直接移动到目标位置(使用Java NIO的Files.move方法) 3. 删除源目录(请确保相关软件已关闭,避免文件占用) 4. 创建源目录到目标目录的NTFS软链接 整个移动过程采用多线程处理,可以显著提高大文件夹的处理速度。线程数可以在界面中调整,默认为CPU核心数的2倍。 ## 安装说明 1. 下载并运行安装包 2. 软件会自动安装Java运行环境和应用程序 3. 启动软件(建议以管理员身份运行) ## 使用指南 ### 基本操作步骤 1. **设置软链接**: - 选择源路径(需要迁移的文件夹) - 选择目标路径(迁移目标位置,不存在会自动创建) - 点击"设置软连接"按钮 2. **取消软链接**: - 选择源路径(已建立软链接的文件夹) - 点击"取消软连接"按钮 ### 注意事项 - 请以管理员身份运行此工具 - 操作前请关闭相关软件,确保文件未被占用 - 涉及文件删除操作,请提前备份重要数据 - 线程数可调整,默认为CPU核心数的2倍 ## 界面预览 ![软件界面](./src/main/resources/images/mklink.png) ## 开发说明 ### 环境要求 - JDK 11或更高版本 - Maven 3.6+ ### 构建项目 ```bash mvn clean package ``` ### 运行项目 ```bash mvn javafx:run ``` ## 贡献指南 1. Fork本仓库 2. 创建功能分支 (git checkout -b feature/AmazingFeature) 3. 提交更改 (git commit -m 'Add some AmazingFeature') 4. 推送到分支 (git push origin feature/AmazingFeature) 5. 开启Pull Request