如何在完全解压缩后获取zip / rar / 7z文件内容的大小?在Windows和Linux下都适用。我考虑使用7z l文件名命令,但我不喜欢文件名干扰代码计算每个文件的大小的想法。
如何在完全解压缩后获取zip / rar / 7z文件内容的大小?在Windows和Linux下都适用。我考虑使用7z l文件名命令,但我不喜欢文件名干扰代码计算每个文件的大小的想法。
7zip的命令行版本7z.exe可以打印文件列表和它们的大小,包括压缩和未压缩的大小。使用l
标志实现这一功能。
使用以下命令:
7z.exe l path\folder.zip
7z.exe l path\*.zip
7z.exe l path\*.zip
的输出重定向到一个文本文件中,那么你会在文本末尾得到一个非常有用的总结,以便你知道你的输入和输出文件大小的总和。 - Hornbydd这并不能解决你的文件名问题,但对于其他人和我自己(在cygwin中)可能已经足够了:
/cygdrive/c/Program\ Files/7-Zip/7z.exe l filename.zip | grep -e "files,.*folders" | awk '{printf $1}'
'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
-slt
命令行选项。 - AndreKR