Windows10 のコマンドラインで winzip を使いたい

Windows のコマンドラインで winzip(zip) を使いたいと思ったが、Windows10 ではそんなコマンドはないと言われました。

どうも廃止されたようです。

ググると、以下のページで解決法(Windows10 で使えるコマンドライン版 ZIPを入手する)を伝授してもらえました。

Windowsのコマンドプロンプトでzipコマンドを使用可能にする方法

ゆうしゃはコマンドラインの ZIP.EXE を手に入れた!

電信八号のメールデータのバックアップをするのに、多数あるディレクトリごとにメール(テキスト形式)を ZIP で圧縮しておこうと思ったのでした。

Windows標準の機能でディレクトリ全体を ZIP圧縮するといいのですが、途中で止まるのです。

全部で 9GB 近くあるので、いわゆる「2GBの壁」かもしれません。

ということで、各ディレクトリごとにテキストデータ(最大10000個)を圧縮していくことにしました。

102 個あるディレクトリを順次圧縮していくのを手動(右クリックで「送る」⇒「圧縮フォルダー」など)でやっていてはラチがあかないので、バッチファイルを書いて実行。

そうです、このバッチファイル内で ZIP.EXE を使うのですね。

ディレクトリ名を「DIR /W /AD」で得て、エディタに読み込んでキーマクロで整形。

cd [ディレクトリ名]
zip *.txt [ディレクトリ名].zip
del *.txt
cd ..

をディレクトリ分だけ繰り返すだけのバッチファイルを作ります。

作ったバッチファイルを起動して・・・実行に 1時間近くかかりましたが、無事終了。圧縮し終わったテキストファイルはすでに削除されています。

バッチファイルを書いた時間は 5分程度。ほぼ自動で圧縮作業が完了したので、55分も得したことに。

手動で全部をやっていたらもっとかかったでしょう。

データのサイズは 6割程度に圧縮。クラスタサイズより小さなファイルが多いためか、あまり圧縮率は高くなりませんでした。

まあ、これで将来的にバックアップしたメールデータもバッチファイル(必要なら修正して)で一発圧縮できます。

Windows10 なので Windows Script HostWSH)で書くのがスジでしょうが、バッチファイルの方がめんどうがなくて、やっつけ仕事(頻度が少ない;普遍性がない)には向いていますね。

linux のシェルスクリプトが Windows でも使えると一番いいのですが。

###

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です