ZIPファイル再圧縮ツール
- 無料版0 JPY
- こた~んのうどん代(内容は無料版と同じです)500 JPY
zipファイルの再圧縮ツールです. zopfliにより指定したzipファイル内の各ファイルの再圧縮を試み,より小さいサイズになれば置き換えを行います. ほとんどの場合において,7-zipより高い圧縮効果を得られます. 元ネタは https://github.com/komiya-atsushi/zipzop であり,このツールはC# による再実装です. オリジナルとの差異は, 1. ファイル単位の並列処理による高速化 2. zopfliのライブラリとしての全オプションを指定可能 3. パスワード付きzipファイルの再圧縮に対応(暗号化アルゴリズムはWindowsのexplorer.exeで開けるZipCryptoのみ) 4. Data Descriptor付きのzipファイルに対応 5. gzipファイルとPNGファイルの再圧縮も可能 の2点です. zipファイルが対象なので,Wordファイル(.docx),Excelファイル(.xlsx),Jarファイル(.jar)等も再圧縮することができます. 元ネタと同じく暗号化zipファイルには対応していません. また,おまけでgzipファイルとPNGファイルの再圧縮も出来るようにしています. unitypackageはtar+gzip形式なので,このツールで再圧縮し,より小さいサイズにすることが可能です. PNGファイルは再圧縮にあたって,IDATチャンクを1つにまとめて結果出力します. PNGファイルの再圧縮はあくまでDeflate圧縮部分の改善のみなので,よりよい再圧縮をするのであればその他のフィルタータイプやフォーマットの改善も行うRecompressPngをご使用ください. https://koturn.booth.pm/items/3048631
基本的な使用方法
コマンドプロンプト等を開き, > RecompressZip.exe 【zipファイル or gzipファイル or PNGファイル or ディレクトリ】... としてください. 詳細なオプションは後述します. ディレクトリ指定時は,ディレクトリを速度優先でzip圧縮した後,本来の再圧縮処理を行います.
オプション
-b 【数値】, --block-split-max=【数値】 最大のブロック分割数を指定します.0は無制限を意味します. デフォルトは15です. -d, --dry-run 圧縮処理は置き換えますが,ファイル内容の置き換えは行いません.ベンチマーク用のオプションです. -f, --compress-force 無圧縮で格納されているデータも対象とし、圧縮を行って格納するようにします. -h, --help 使い方を表示し,プログラムを終了します. -i 【数値】, --num-iteration=【数値】 最大の繰り返し回数を指定します. デフォルトは15です. -p, --password パスワード付きzipファイルのパスワードを指定します. -r, --replace-force 再圧縮の結果がオリジナルよりも悪かったとしても置き換えを行うようにします. -v, --verbose zopfli.dllからの標準エラー出力へのデバッグ出力を有効にします. -V, --verbose-more zopfli.dllからの標準エラー出力へのより詳細なデバッグ出力を有効にします. --no-block-split ブロック分割を行わないようにします. --no-overwrite 元のzipフィイルの置き換えを行わないようにします. --verify-crc32 各zipエントリのCRC-32の値の比較を行うようにします.
動作要件
.NET 6.0(RecompressZip-winx64.zipでは不要) https://dotnet.microsoft.com/download Microsoft Visual C++ 再頒布可能パッケージ https://support.microsoft.com/ja-jp/topic/%E6%9C%80%E6%96%B0%E3%81%AE%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%82%8B-visual-c-%E3%81%AE%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89-2647da03-1eea-4433-9aff-95f26a218cc0
開発リポジトリ
https://github.com/koturn/RecompressZip
ライセンス
The MIT License (MIT) Copyright (c) 2021 koturn Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.