圧縮ファイルをwindowsの標準のコマンドで作成する
圧縮ファイルをwindowsの標準のコマンドで作成するには?
まず、zip形式は無理。機能はあるのに、コマンドがない。困ったことです。
というわけで、cab形式(キャビネット形式)にしましょう。windows はcab形式と仲良し。比較的圧縮率が高く、比較的動作が遅いという特徴がありますが、あまり気にしないことにします。
cab形式の圧縮ファイルを作るコマンド
makecab
コマンドのヘルプ
C:\>makecab Cabinet Maker - Lossless Data Compression Tool MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination] MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...] source File to compress. destination File name to give compressed file. If omitted, the last character of the source file name is replaced with an underscore (_) and used as the destination. /F directives A file with MakeCAB directives (may be repeated). Refer to Microsoft Cabinet SDK for information on directive_file. /D var=value Defines variable with specified value. /L dir Location to place destination (default is current directory). /V[n] Verbosity level (1..3).
キャビネットメーカー - ロスレスデータ圧縮ツール MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination] MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...] source 圧縮したいファイル. destination 圧縮後のファイル名. 省略したら、元のファイル名の最後の文字を アンダースコアに変更したものになるよ. /F directives 設定ファイル (may be repeated). Microsoft Cabinet SDK を参照. ここから取得? /D var=value 変数を定義します. /L dir 圧縮後のファイルを置くフォルダ (デフォルトは現在のディレクトリ). /V[n] ログの情報量レベル (1..3).
使用例
複数ファイルを圧縮するときには、オプションをファイルに書いて渡さないといけない模様。
下記は簡単な使用例。あるデータベースのダンプファイルを圧縮。
C:\temp>makecab test.sql test.cab Cabinet Maker - Lossless Data Compression Tool 100.00% [flushing current folder] C:\temp>dir test.* ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 772F-1A7D です C:\temp のディレクトリ 2010/01/22 12:21 7,561,691 test.cab 2009/12/29 22:08 32,299,967 test.sql 2010/01/22 12:24 7,731,694 test.zip
4分の1以下になりました。zipよりもちょっとコンパクト。
圧縮ファイルをwindowsの標準のコマンドで解凍する at softelメモ 2010年1月22日 12:42
[…] 前回の圧縮編に続いて、解凍編。 […]
じゅん 2012年6月6日 22:21
ありがとう!参考になりました。