2011年8月24日水曜日

多量のファイル群やフォルダ群を個別にzip化したい

下記のような多量のフォルダ群をそれぞれのフォルダごとに一度に圧縮したい場合にも、バッチ処理はとても便利です。

epsファイルが入ったフォルダ群。これらのファイル群をそれぞれzip化します。全部で175個ありますので、一つずつやると少し面倒です。

 MS-DOSには、zip化のコマンドがそのままではないので、Windowsに用意されているzip化プログラムを動かすVBScriptをこちらから入手します。残念ながら、これは今のところWindows XPでないと動作しないようです。

ダウンロードしたファイルに入っているMakeZIP.VBSをフォルダ群のあるディレクトリにコピーします。
このスクリプトの詳しい使い方は、ダウンロードしたZIP.VBS.TXTに載っています。



下記のようなリストをエクセルで作成します。A列には、CScript.exe MakeZIP.VBS、B列には圧縮後の名前、C列には圧縮前のフォルダ名を入れます。C列はファイル名でもかまいません。C列以降D列やE列などにファイルやフォルダを並べると、まとめてB列のzipファイルに圧縮できます。



このエクセルファイルをカンマ区切りのCSVファイル形式で保存し、拡張子をbatに変更したうえで、フォルダ群のあるディレクトリに入れます。



 このままバッチ処理を実行するとエラーがでるので、バッチファイルをテキストエディタで開いて下記のようにカンマをすべて半角スペースに変換します。


 バッチファイルをダブルクリックすれば、一度にフォルダ群をzip化できます。

ぜひお試しください。