web-dev-qa-db-ja.com

7-Zipを使用して再帰的に抽出します

いくつかのフォルダーがあり、各フォルダー内にZipファイルがあります。コマンドラインオーダーを実行して、すべてのフォルダーを再帰的に調べ、見つかったすべてのアーカイブファイルを所定の場所に抽出してから、次のフォルダーに移動したいと思います。これも可能ですか?

7
newyuppie

Linuxを使用している場合は、

find -iname \*.Zip -exec unzip {} \;

unzipをインストールした後)

Windowsでは、

FOR /F "usebackq" %a in (`DIR /s /b *.Zip`) do 7z.exe e %a

PATHに7z.exeがあると仮定します。すべてのZipファイルを(再帰的に)解凍するフォルダーでそのコマンドを実行します。

9
Olli

Windows用のオープンソース Multi Unpacker ツールを使用します。 WinRARをインストールしておく必要がありますが、それ以外は実際にはかなり用途が広いです...

Multi Unpacker

5
derio

7-Zipを使用すると、次のコマンドを発行して、すべてのファイルを現在のベースフォルダーに抽出できます。

7z e -an -air!*.Zip -r

だからあなたが持っているなら

.
+ \ folder
    + \ file.Zip

file.Zipの内容は、すべてのアーカイブフォルダが削除された状態で.になります。

または、xオプションを使用して、アーカイブのサブフォルダーを含めて抽出します。

-oオプションを使用して、各Zipファイルをそのサブフォルダーに抽出できる場合がありますが、代わりにすべてのファイルを1つの場所に配置する必要があることがよくあります。

4
jessehouwing