[问题] 请问 7z 内档案档名太长怎解?

楼主: s9209122222 (海海海)   2022-09-20 17:58:18
以下是我在 CLI 运行所跑出的讯息,因为太长我换很多行:
ERROR: Can not open output file : 档名太长 : ./mqkwi0400/视图
/V/一望无际的大海全裸是一种享受裸露爱好普通人看来是变态行为不
为人所接受有谁能明白全裸只是一种放松的自由并没有想象中的龌蹉
和色情用平常心看待来到这世上不就是身不着片缕吗为自己活一回不
在意别人的评价在合法范围内喜欢什么做什么需要这样的一个圈子
_1426359595241406465_720x1280.mp4
ERROR: Can not open output file : 档名太长 : ./mqkwi0400/视图
/V/线下见个面吃个饭相互认识一下在考虑拉进群一起玩这样可以一起
玩的放心不至于混进去别有用心的人但凡线下见过都能加微信不收任
何门槛只是为了群成员的安全需要细致筛选值得信任的人一起玩那些
耍嘴炮的别有用心的最好别私信我不约炮不做猥琐的事情
_1438568717764366338_720x1280.mp4
Sub items Errors: 19
Archives with Errors: 1
Sub items Errors: 19
请问在 Linux 上面要怎么解呢?我在 File Roller 内尝试改名无效。
真好奇当初他们怎么打包的,明明 NTFS 和 EXT4 都是 255 bytes。
作者: roccqqck (ccqq)   2022-09-20 18:05:00
"档名"档案给我上车试试
楼主: s9209122222 (海海海)   2022-09-20 18:06:00
对呀,档名太长呀我看看求解……
作者: billycsu   2022-09-20 18:52:00
在win11上解倒没问题...
作者: breeze08 (linuxer)   2022-09-20 18:53:00
我到底看了什么...
楼主: s9209122222 (海海海)   2022-09-20 20:41:00
什么!9 部影片都没问题吗?难不成是 Linux 的 ext4 太落后了吗?
作者: lantw44 (#######################)   2022-09-20 21:15:00
刚看 7z 有个 rn 指令好像可以改档名,不过我没用过。另外 Windows 的 255 不是 bytes 吧,应该是 UTF-16 codeunits 吧。以第一个档名来说,UTF-16 比 UTF-8 省空间,UTF-16 302 bytes(151 code units)、UTF-8 387 bytes。
楼主: s9209122222 (海海海)   2022-09-20 21:49:00
好奇那是什么单位,ext4 查了确实是 byte
作者: lantw44 (#######################)   2022-09-20 21:57:00
在 Linux 下一般都用 UTF-8 编码,用 byte 算字串长度。但在 Windows 下常常是用 UTF-16 编码,以 16 bits 为单位计算长度,也就是转成 UTF-16 编码后 byte 数除以 2。
作者: Bencrie   2022-09-20 22:49:00
中文一个 char 大概 3bytes,自己算算有没有超过吧
作者: bitlife (BIT一生)   2022-09-21 09:33:00
快速瞄一眼内文还没看推文前以为这篇是进阶版本的救援性交易讯息. 后来看了推文, 还是没有减少我的疑虑 XD
楼主: s9209122222 (海海海)   2022-09-21 11:26:00
蛤?
作者: bitlife (BIT一生)   2022-09-21 12:28:00
我是说付钱救援,请人解决问题 XD 故意用双关语
作者: Alica (Torsades de Pointes)   2022-09-21 13:14:00
结论就是档名长度这点ext4确实上限低于NTFS解压缩时指定存在NTFS分割区大概就解得出来了
作者: EdwardGJLee (LGJ)   2022-09-21 15:27:00
ext4 和 NTFS 的默认定义都是 255。会有差别是编码的长度(所占空间)的问题。BTW,win10 以后有变动。win 是用 wide char 系统。linux 是用 multiple-byte
作者: leolarrel (真.粽子无双)   2022-09-21 15:30:00
跟ext4 无关,你能在linux disk 出现这个档案就表示ext4
作者: EdwardGJLee (LGJ)   2022-09-21 15:30:00
char 系统。因此他们的 encoding length 不一样。
作者: leolarrel (真.粽子无双)   2022-09-21 15:31:00
能处理这样的档名阿.是跟你的那个7z 程式有关喔,抱歉我误会了,我以为你是要把mp4档案压缩到zip里
楼主: s9209122222 (海海海)   2022-09-21 16:09:00
悲剧,没有 NTFS 的磁区
作者: lantw44 (#######################)   2022-09-21 18:21:00
你可以开个 NTFS 映像档,或是试试看直接修改压缩档内的档名。
作者: holishing   2022-09-21 19:12:00
可以用 qemu-img 开 qcow2 然后用 qemu-nbd 挂来测当然直接挂 raw image 也可以,只是觉得 qcow2 比较方便
作者: abcdefghi   2022-09-22 08:47:00
试过7z的rn功能可行,使用的时候要记得加上压缩档内的目录名称,不过这样改满累的,另一个方法是做一个1GB的档案,再格式化成ntfs,再mount它,然后在ntfs里解压缩dd if=/dev/zero of=test.disk bs=1024 count=1Msudo mkfs.ntfs -F ./test.disksudo mount -o uid=自己的帐号 test.disk 7z-testcd 7z-test然后就可以直接用7z解压缩了
作者: Bencrie   2022-09-22 08:59:00
不用 dd 吧。truncate -s 1G test.disk
作者: yvb   2022-09-22 23:08:00
即使改用NTFS,可能还是会先踩到 Linux VFS 的档名255长度限制
作者: EdwardGJLee (LGJ)   2022-09-22 23:40:00
可以吧?linux NTFS 是由 FUSE 操控。问题是 ucs2base。不是纯正的 UTF16 base。
作者: Bencrie   2022-09-23 09:28:00
fuse 是说 ntfs-3g 吧。5.15 之后有新的 ntfs3
作者: EdwardGJLee (LGJ)   2022-09-23 11:21:00
是的,是指默认、传统的 ntfs-3g。
作者: lecheck (小调皮)   2022-09-25 06:32:00
loop monunt
作者: tony24334 (阿赖是你)   2022-09-25 19:26:00
不愧是小企鹅版 50推了只有一个求上车没歪楼
楼主: s9209122222 (海海海)   2022-09-25 21:44:00
我猜大家都私下上车了
作者: rickieyang (Rickie Yang)   2022-09-26 10:32:00
意图使人下载... PS: Mac 可以正常解开
作者: longlongint (华哥尔)   2022-10-04 14:25:00
印象中 NTFS有特殊模式突破限制用指令解开指定档案应该可以同时改名吧(Linux 存到短档名绕开
楼主: s9209122222 (海海海)   2022-10-05 00:30:00
都忘记了……放假找机会查查大家说的

Links booklink

Contact Us: admin [ a t ] ucptt.com