我已经使用 7-zip 从一个大型 .rar 存档 (1.9TB) 中成功提取了数据,现在我想删除存档。但是,在我这样做之前,我想保存路径名,最重要的是,保存在 7-zip 文件管理器的 CRC 列中列出的相应 CRC 值。
我知道的唯一方法是通过 cmd.exe 使用以下命令7z l -slt <archive.zip>
。但是,这种方法对我的目的不是很有效。一方面,命令提示符的输出窗口大小有限。我知道我可以调整缓冲区大小(甚至可能高达 32766),但存档有超过一百万个文件......不过,更成问题的是,这种方法的输出具有这样的格式据我所知,不能更改,如下:
Path = -
Folder = -
Size = -
Packed Size = -
Modified = -
Created =
Accessed =
Attributes = -
Encrypted = -
Solid = -
Commented = -
Split Before = -
Split After = -
CRC = -
Host OS = -
Method = -
Version = -
Volume Index = -
而我正在寻找的是每个文件的输出,如下所示:
<CRC> <pathname>
例如:
60CD248A *Folder1\text1.txt
61CD248A *Folder1\Folder2\text1.txt
62CD248A *Folder1\Folder2\text2.txt
非常感谢您的时间和帮助。
您可以使用一行命令代码从命令行输出中仅获取 CRC 行:
CRC - .....
此命令会将7z 命令输出中的所有行内容放入剪贴板 (Crtl+C) 。要保存在文件中:
循环(通过“for”)并保存 CRC 字符串:
观察:1)
^=^=
和之间有2个空格%i
:观察:2)同样适用于 Path,只需将CRC替换为Path。
Obs.: 3)使用的便携版的可执行文件是7za.exe,可能你有另一个名字。