Fir*_*cer 21 windows symbolic-link 7-zip
我正在尝试将文件夹压缩为 .7z 存档。此文件夹包含指向文件夹外其他一些内容(目录和文件)的符号链接。
显然 7zip 只是存档链接本身,这不是我想要的。有没有办法告诉 7zip 我希望它存档它链接到的内容,而不是链接本身?(也就是说,如果有foo指向的符号链接名称C:\stuff\foo,我希望它包含C:\stuff\foo存档中的目录代替 foo,而不是 0 字节符号链接。))
除了添加有问题的文件和文件夹之外,还有其他合理的解决方法吗?大约有 10,000 个文件通过符号链接引用,因此单独添加它们需要几个小时......也许有一个程序可以创建一个包含真实文件的临时文件夹,然后将其传递给 7zip。或者只是一个可以更好地处理符号链接的归档器。
我正在运行 Windows Vista。所有的链接都是符号链接(例如用mklink link target和创建mklink /D link target)。
编辑:
dir 较小测试目录的命令输出:
C:\...>dir
Volume in drive C is OS
Volume Serial Number is 0A3D-CD6E
Directory of C:\...
09/04/2010 18:12 <DIR> .
09/04/2010 18:12 <DIR> ..
09/04/2010 18:10 975 real file.txt
09/04/2010 18:11 <SYMLINK> test file.txt [..\test file.txt]
2 File(s) 975 bytes
4 Dir(s) 5,214,355,456 bytes free
Run Code Online (Sandbox Code Playgroud)
使用 7zip 创建 7z 存档会导致real file.txt包含在内,但test file.txt会添加为 0 字节文件,尽管链接到的文件确实存在并且是 50KB。
sle*_*ske 14
显然 7zip 只是归档了它自己的链接,这不是我想要的。有没有办法告诉 7zip 我希望它也归档它链接的东西,而不是它自己的链接
不,显然不是(不幸的是)。实际上有一个关于 7zip 的错误报告要求这个:http : //sourceforge.net/tracker/? func=detail&aid=2846755&group_id=14481&atid=114481 但它是在 2009 年 8 月打开的,自 :-/ 以来没有被触及。
如果失败,除了添加有问题的文件和文件夹之外,还有什么合理的吗?包括通过符号链接的东西,有 10 000 个文件,其中很大一部分是通过符号链接,所以单独添加它们需要几个小时......
好吧,如果你有足够的空间(和时间),你可以复制文件夹,用它们的目标替换符号链接。例如,您可以使用Robocopy及其开关/sl:
/sl 复制符号链接而不是目标
注意:
为了避免混淆,请注意p7zip的 Linux 版本(7zip 的端口)也有一个二进制文件7z,它支持将符号链接指向的文件存档(switch -l)。但是,Windows 上的 7zip 没有这个开关。
截至 2019 年,7-Zip 已在 Windows 中解决了此问题。最新版本有一个复选框,可以在 TAR 和 WIM 档案中包含符号链接,效果很好!