水無瀬さんごのブログ Season2

ゼロ年代口調を抑えきれない ※技術力要素はありません ※文章力要素もありません

フォルダ内のZipファイルを全部展開するバッチ(7Zip編)

はい、フォルダ内に散らばってるZipファイルを丸ごと全部展開したい場合があるとしますね。
例えばこう。

hoge
-hoge1.zip
-hoge2.zip
-hoge3.zip
fuga
-fuga1.zip
-fuga2.zip
hogefuga
-hogefuga.zip

hoge
+hoge1
+hoge2
+hoge3
fuga
+fuga1
+fuga2
..

みたいに展開したい場合。

というわけでいきなり結論から行きます。

@echo off
for /r %%1 in ("*.zip") do "C:\Program Files\7-Zip\7z.exe" x "%%1" -aoa -o"%%~p1\%%~n1"

以上です。

ちなみにフォルダの階層を無視して一番上のディレクトリに全部展開させたい場合、

@echo off
for /r %%1 in ("*.zip") do "C:\Program Files\7-Zip\7z.exe" x "%%1" -aoa -o"%%~n1"

みたいにいじってやることもできます。