7zip 7z是否获取未压缩内容的总大小?

7zip 7z是否获取未压缩内容的总大小?,7zip,7zip,在完全提取后,如何获得zip/rar/7z文件内容的大小?在windows和linux下。我曾考虑过使用7z l filename命令,但我不喜欢文件名干扰代码计算每个文件大小的想法。这并不能解决文件名问题,但对其他人和我来说可能已经足够好了(在cygwin中): 7zip的命令行版本7z.exe可以打印文件列表及其大小,包括压缩和未压缩文件。这是使用l标志完成的 使用此命令: 7z.exe l path\folder.zip 您还可以包含通配符,该通配符给出文件夹中所有存档的总总数: 7z.

在完全提取后,如何获得zip/rar/7z文件内容的大小?在windows和linux下。我曾考虑过使用7z l filename命令,但我不喜欢文件名干扰代码计算每个文件大小的想法。

这并不能解决文件名问题,但对其他人和我来说可能已经足够好了(在cygwin中):


7zip的命令行版本7z.exe可以打印文件列表及其大小,包括压缩和未压缩文件。这是使用
l
标志完成的

使用此命令:

7z.exe l path\folder.zip
您还可以包含通配符,该通配符给出文件夹中所有存档的总总数:

7z.exe l path\*.zip
使用Powershell:

'C:\Program Files\7-Zip\7z.exe' l '.\folder-with-zips\*.zip' | select-string -pattern "1 files" | Foreach {$size=[long]"$(($_ -split '\s+',4)[2])";$total+=$size};"$([math]::Round($total/1024/1024/1024,2))" + " GB"
或者,如果你想实时观看全部内容

'C:\Program Files\7-Zip\7z.exe' l '.\folder-with-zips\*.zip' | select-string -pattern "1 files" | Foreach {$size=[long]"$(($_ -split '\s+',4)[2])";$total+=$size;"$([math]::Round($total/1024/1024/1024,2))" + " GB"}
如果您多次运行它,不要忘记在两次运行之间重置“total”变量,否则它将继续累积

Remove-variable total

我不太明白你所说的“文件名干扰了计算每个文件大小的代码”是什么意思,但是如果你选择的是机器可读格式,您可能对
-slt
命令行选项感兴趣。值得一提的是,如果您将
7z.exe l path\*.zip
的输出重定向到文本文件,那么您将在文本末尾得到一个非常有用的总和,这样您就可以知道输入和输出文件的总大小。还值得一提的是,7z命令可通过p7zip使用在Ubuntu和许多类似的Linux系统上安装apt包,并生成所描述的输出。
Remove-variable total