完全提取后如何获取 zip/rar/7z 文件内容的大小?在windows和linux下。我考虑过使用 7z l 文件名命令,但我不喜欢文件名干扰计算每个文件大小的代码的想法。
user34537
问问题
6372 次
3 回答
6
7zip 的命令行版本 7z.exe 可以打印压缩和未压缩文件及其大小的列表。这是使用l
标志完成的。
使用这个命令:
7z.exe l path\folder.zip
您还可以包含通配符,它给出了文件夹中所有档案的总和:
7z.exe l path\*.zip
于 2016-04-16T05:58:17.893 回答
1
这并不能解决您的文件名问题,但对其他人和我自己(在 cygwin 中)来说可能已经足够了:
/cygdrive/c/Program\ Files/7-Zip/7z.exe l filename.zip | grep -e "files,.*folders" | awk '{printf $1}'
于 2011-04-12T18:31:12.273 回答
0
使用 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"}
如果您多次运行它,请不要忘记在两次运行之间重置您的“总”变量,否则它只会不断累加
Remove-variable total
于 2019-07-14T22:27:55.230 回答