无忧启动论坛

标题: mklink硬连接命令-文件包减肥的好方法 [打印本页]

作者: lhc0688    时间: 2024-2-15 09:22
标题: mklink硬连接命令-文件包减肥的好方法
很多基于python、Git、conda等整合包,需要集成相应的运行环境,这些文件夹非常大,动辄几个、十几个G,如果下载多个整合包版本,就存在重复占用空间,这也是很多朋友几百G空间不够用的原因。

今天尝试了下用mklink硬连接命令进行减肥,比如:

建立目录硬连接:
@echo off
If not exist "%~dp0runtime"  mklink /j "runtime" "E:\AI\GPT-SoVITS\runtime"
exit

关闭硬连接则:
@echo off
If exist "%~dp0runtime"  rmdir  "runtime"
exit

不过,mklink 有多种方式,/d 、/h 、/j,使用上应该也有不同,哪种方法更好,欢迎坛友讨论指教。

作者: wsx710904    时间: 2024-2-15 09:42
感謝分享,您的善心我們都很開心。
作者: 2011monoso    时间: 2024-2-15 09:47
谢谢分享经验
作者: 窄口牛    时间: 2024-2-15 09:59
h是硬的,只能同分区;d是文件夹,不能用于文件;j没用过,不太清楚。
作者: tanglf    时间: 2024-2-15 10:08
可以一试
作者: 201027149    时间: 2024-2-15 10:16
/J  是目录链接,自己倒是常用。
作者: linshi456    时间: 2024-2-15 10:23
设置环境变量也可以减少重复空间
作者: yzw92    时间: 2024-2-15 10:32
没用过,不太清楚。
作者: lhc0688    时间: 2024-2-15 10:51
本帖最后由 lhc0688 于 2024-2-15 10:52 编辑
201027149 发表于 2024-2-15 10:16
/J  是目录链接,自己倒是常用。

如果程序运行时指定依赖,比如指定运行本软件所在文件夹下的git\bin\git.exe,而git.exe又依赖完整的环境(完整文件夹),那么,用/D、H、J哪个更合理呢?
作者: 2010hook    时间: 2024-2-15 10:52
你这一个一个搞是笨方法,用文件管理器才好啊
作者: lhc0688    时间: 2024-2-15 10:57
linshi456 发表于 2024-2-15 10:23
设置环境变量也可以减少重复空间

这个主要是解决使用懒人整合包的情况,整合包内集成了所有依赖环境,而程序代码又指定依赖程序调用位置。如果系统是自行安装相应的环境,是可以通过设置环境变量。
作者: liyqxtu    时间: 2024-2-15 10:58

可以一试
作者: lhc0688    时间: 2024-2-15 11:00
2010hook 发表于 2024-2-15 10:52
你这一个一个搞是笨方法,用文件管理器才好啊

不是很明白,能具体说下方法吗?
作者: rbwrbw    时间: 2024-2-15 11:04
多谢提醒!!!
作者: 201027149    时间: 2024-2-15 11:05
lhc0688 发表于 2024-2-15 10:51
如果程序运行时指定依赖,比如指定运行本软件所在文件夹下的git\bin\git.exe,而git.exe又依赖完整的环境 ...

那就 目录链接,源文件位置不变只是个快捷方式指向,实际迁放在自己认为分区空间充足的目标目录。
作者: lhc0688    时间: 2024-2-15 11:14
201027149 发表于 2024-2-15 11:05
那就 目录链接,源文件位置不变只是个快捷方式指向,实际迁放在自己认为分区空间充足的目标目录。

如果仅映射一次,使用时不改变对应关系,那参数估计D、H、J应该都可以;如果程序所在文件夹路径有可能改变,比如:E:\CS1\runtime是映射的文件夹,如果把E:\CS1改变成CS2后,要确保runtime仍有效,可能要用/J;
作者: tilltotell007    时间: 2024-2-15 11:14
经验分享
作者: shinykers    时间: 2024-2-15 11:33
更多更烦的是javascript那套东西,好几百兆,还都不太一样。
作者: JayeDieyan    时间: 2024-2-15 12:32
用wim单文件免解压小体积才是硬道理
作者: yc2428    时间: 2024-2-15 13:18
谢谢分享
作者: sulong    时间: 2024-2-15 13:22
这个不错能有效节省空间
作者: guong    时间: 2024-2-15 13:32
感謝分享
作者: china.gaofeng    时间: 2024-2-15 13:56
/J 比较万能
作者: chibuzhu    时间: 2024-2-15 13:58
经过学习
作者: 9zhmke    时间: 2024-2-15 15:05
我记得好像有专门的工具做这个事情,把相同的文件用链接来表达,记不清是DISM++还是哪个了
作者: faly    时间: 2024-2-15 17:02
wsx710904 发表于 2024-2-15 09:42
感謝分享,您的善心我們都很開心。

不要这么水 可以吗
作者: zgzxp    时间: 2024-2-15 19:19
windows目录下的Installer文件夹何时可以支持目录链接?或者有什么方法可以迁移这个文件夹?
作者: 2011matrixvexx    时间: 2024-2-20 23:50
感谢楼主分享
作者: tilltotell007    时间: 2024-2-21 06:07
学习了
作者: hehuiying    时间: 2024-4-13 17:09
谢谢分享
作者: xman00    时间: 2024-4-13 17:10
zgzxp 发表于 2024-2-15 19:19
windows目录下的Installer文件夹何时可以支持目录链接?或者有什么方法可以迁移这个文件夹?

一直都可以的
作者: zgzxp    时间: 2024-4-14 14:56
xman00 发表于 2024-4-13 17:10
一直都可以的

不行的,有些程序如果做了迁移会安装不了,比如nextcloud的安装程序
作者: 无犹启动    时间: 2024-4-23 19:22
谢谢分享
作者: rhinomax    时间: 2024-4-24 09:15
小白用户,有个foldermove了解一下。
作者: junyee    时间: 2024-4-24 09:38
软硬链接不必多言.

mklink /D  和 /J  特性非常怪异.

建议使用 /D ,支持相对路径.

/J 生成的,复制目录粘贴,等同于里面文件在里面目录里复制粘贴,这一点就无法接受.


作者: zrr890528    时间: 2024-4-24 12:22
简化版,应该是论坛看到的HardLinkShellExt_X64,右键建立




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3