大量にあるフォルダを1つ1つ圧縮するのに時間がかかる!そんな時一度に個別圧縮ファイルを作る方法とは!

単純作業の効率化はいつだってスーパースーツマンへの第一歩。

前回の記事で作成した大量のカタログのページ数の見開きの名前のフォルダ。

これ、カタログのページ見開きファイルで、中に画像が入っていてサーバーからカスタマーにダウンロードしてもらえるようにしようと思いますが、この大量のファイルを1つ1つzipファイルへと圧縮するのがとても手間。

そんな時、一瞬でファイルを個別に、1つ1つのzipファイルへと圧縮する方法をご紹介。

スポンサーリンク

目次

windowsの7-zipソフトを使ってbatファイルから命令する

いろいろな方法がWEB上で探すことができました。先人の知恵をお借りして、下記のブログを参考にさせていただきました。

方法はすごく簡単にできたので、ぜひチャレンジしてみてください。

フォルダごとにZIPをつくるバッチ

KIWAMIDENさんのCG関連のトピックブログです。たくさんのプログラミング知識が満載です

https://kiwamiden.com/how-to-make-a-batch-that-creates-zip-for-each-folde

7-zip をダウンロードする

WindowsのPCの方法になりますが、まずは7-zipというアプリケーションを必要としますので、こちらからお使いのOS、ビット数に合わせてダウンロード。

圧縮回答ソフト 7-zip

https://sevenzip.osdn.jp/

7-Zipは高圧縮率のファイルアーカイバ(圧縮・展開/圧縮・解凍ソフト)です。

開くと下記画面が出てきました。赤枠の中のお使いのPCのビット数にあったものをダウンロードします。

出てくる画面でそのままInstallを選択。

ここで、のちにバッチでC:\Program Files\7-Zip\7z.exe と設定するのでそのままインストールをします。

もしカスタマイズでインストール場所を変えているのであればバッチ設定の際、インストール場所を変更する必要があります。

これでインストールできました。デスクトップ上で何かのアイコンを右クリックしたウィンドウで、

7-zip と出ればOKですね。

1つ1つzipの圧縮ファイルを作るバッチを作成する

まずは個別に圧縮したいフォルダがたくさん入っている大元のファイルの中に、テキストを作成します。

ここでは、新しいフォルダ(3)の中に20個のファイルがあり、それを試しに個別に一瞬で圧縮したいと思います。

テキストドキュメントを作成する

テキストドキュメントができました。

次に、作ったテキストドキュメントを適当に名前を変えて開きます。ここでは、pressとしました。

そしてこのテキストドキュメントに以下のコードをコピペします。

※注意点はインストールフォルダが、C:\program files 以下出ない場合、ここはインストールされているフォルダに変更して下さい。

@echo off
set ZIP_PATH="C:\Program Files\7-Zip\7z.exe"
for %%f in (%*) do (
  %ZIP_PATH% a -tzip %%f.zip %%f
)
 
pause

はい、こちらでできました。これで上書き保存します。

テキストドキュメントの拡張子をtxt から bat 変更する

テキストファイルの拡張子を、batファイルへと変更します。

でてきた警告ウィンドウは「はい」押して実行します。

batファイルができました。

すべてのフォルダを選択し、batファイルへ投げれば なんと・・・・!!!

あとは、プログラムを実行すればすべてが 7-zipのプログラムを実行して圧縮ファイルへと変換されます。

実行方法は、圧縮したいフォルダを選択しpress.bat へ投げるだけです。

っぷっ( *´艸`) 簡単すぎる!!

実行中は黒いコマンドプロンプト画面が出ますが終わるまで待ちます。。。

Everything is OK
続行するには何かキーを押してください…

と出れば終了です。何かキーを押すと画面が消え、ZIPファイルができているのが確認できます。

単純作業の積み重ねがやがて大きな時間の節約に!

これで大幅に作業時間を節約することができました。

こういった技って、1回やっただけでは覚えられないので反復で練習するといいですよね。

一人でも多くの方のお仕事が円滑に、そして作業効率が上がりますように(*´▽`*)

これであなたも、スーパースーツマン。大量のフォルダの圧縮ファイルへの変換は、これでもう大丈夫ですね♪

4件のコメント

フォルダー数の上限はありませすか? 2000を超えるフォルダを選択したらフォルダ名/ファイル名が長すぎるとエラーになります。 

コメントありがとうございます、すみません2000を超えるフォルダの場合は私自身わかりかねますが
できる数(たとえば1990個ずつとか)内で繰り返し作業していく方法がいいかと思います^^
最適な回答が出せず申し訳ないです。

パスワードを掛けたい場合はどのようなコマンドを追加すれば良いのでしょうか。

コメントありがとうございます。
こちらの記事が参考になるかと思いますがいかがでしょう?
https://batch-file.net/2022/07/05/%E3%80%90%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%91%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB-%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%82%92zip%E5%BD%A2%E5%BC%8F%E3%83%91/

テキストファイルを作る際、パスワードの部分を付け加えれば行けそうな気がしますが
試していないので一度、テスト環境でファイル2~3個で試されたほうがよさそうですね。

コメントを残す

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

CAPTCHA