web-dev-qa-db-ja.com

圧縮ドライランを実行します(つまり、ファイル出力なし)

RARまたは7-Zip形式へのドライラン圧縮を行う方法はありますか? (コマンドラインは問題ありません。)私が取得したいのは、正確な圧縮サイズの見積もりです。

WinRARと7-Zipでそのオプションを見つけようとしましたが、CLスイッチも調べましたが、うまくいきませんでした。

1
typo

gzipを使用してZip圧縮(deflate)をプレビューし、xzを使用して7Zip圧縮(lzma)を次のようにプレビューできます。

gzip -c $1  | wc -c
xz --format=lzma -c $1  | wc -c

オプションで、numfmt --to=iecにパイプして、バイト数を読みやすくします。

単一のファイルに対してのみ機能し、カウントにアーカイブヘッダーがないことに注意してください。

Windowsに必要なすべてのバイナリは git sdk package にあります。

1
eadmaster

私はWinRARまたは7-Zipに精通していませんが、WinRARのオンラインヘルプをざっと見ると、-Pおよび-inulフラグを使用して圧縮出力をstdoutに送信できることがわかります。これを、LinuxおよびMacOSで標準であり、Linux用のWindows 10 Windowsサブシステムの一部としてWindowsで使用できるwcユーティリティまたは GnuWin32 utilsにパイプできます(textutilsパッケージを参照)。

例えば:

rar -P -inul <rest of WinRAR parameters...> | wc -c

これにより、圧縮ファイルがディスクに書き込まれた場合の文字数(バイト)が返されます。

0