こんにちわlisです!
フォルダ単位でファイルを保管してる場所はありませんか?
そんなときにこのバッチで、各フォルダを7z形式で圧縮しちゃいましょう!
やっていること
7-Zipを使ったフォルダの圧縮と、圧縮したフォルダの削除を行います。
例えばこんなフォルダ構成のものがあるとします。
C:\hoge +- folder1 +- folder2 +- folder3
hogeの位置でこのバッチを実行すると
- folder1~3がそれぞれ7zで圧縮される
- ex: folder1.7z
- 圧縮済みのフォルダを削除する
- ex: folder1.7zが作成された→folder1削除
処理済みフォルダのような場所に、フォルダ単位で蓄積した場合、月日が立つとどんどん蓄積され、結構なサイズになります。
本当はバージョン管理ソフト任せにするのが得策だと思いますが
「フォルダ単位でファイルを残しておきたい!でもディスクを圧迫する!」
ということを少しでも軽減使用という試みです。
ソース
これを使えば
- フォルダ別に7z化される!
- 元のフォルダを削除するのでサイズ軽減!
@echo off rem #-[singole-zip.bat]--------------------------------------------------------- rem # 7-zipを使ったフォルダ個別アーカイブバッチ rem # rem # フォルダ内の全フォルダを、7zでアーカイブ後、元フォルダを削除します。 rem # このバッチはフォルダのみが対象で、フォルダ内のファイルはなにも行いません。 rem #--------------------------------------------------------------------------- set exe="C:\Program Files\7-Zip\7z.exe" for /R /D %%i in (*) do ( echo Processing file: %%i cd "%%i" %exe% a -t7z -mx=0 "%%i.7z" * >> NUL cd .. if exist "%%i.7z" ( rd /S /Q "%%i" ) )
Tips
このバッチファイルを作成し、それをパスの通ったフォルダに格納しておくと便利です。
対象フォルダを開いたエクスプローラのアドレスバーから、このバッチファイル名を叩くと、そのフォルダ内でこのバッチファイルを実行する事ができます。
あとがき
7-Zipでフォルダごとに圧縮・削除するバッチファイルでした!
結構昔に作ったものですが、前述のケースが発生したときに役立ちます。
「とりまフォルダで管理したいけど圧縮保存しときたい」
というときに活躍します!