web-dev-qa-db-ja.com

コマンドラインから7-Zipでアーカイブから特定のファイルを抽出します

たとえば、アーカイブがある場合、some.Zip 1つ以上のファイルを含む場合、Windowsのコマンドラインから 7-Zip を使用して1つのファイルのみ(ファイルの名前はわかっています)を抽出するにはどうすればよいですか?

36
Kiesoo

surfasb's answer のフォローアップとして、末尾に-rフラグを追加して再帰します。

7z e [archive.Zip] -o[outputdir] [fileFilter] -r

複数のフィルターのサポート:

7z e [archive.Zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r

例:

複数のフィルターコマンドライン:

7z e archive.Zip -o outputdir *.xml *.dll -r

PS:7z.exeの代わりに7za.exeを使用します。これがスクリプトで使用する実際のコマンドです。

7za.exe x archive.Zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r
34
zionyx

最後にファイル名を追加するだけです。

7z e [archive.Zip]-o [outputdir] [fileFilter]

14
surfasb

7zの man page を見ると、次のコマンドを使用して7zアーカイブからファイルを抽出できることがわかります(ただし、manページにはパスの使用法がありません)。

7z x <archive> <path to file>

例:

7z x backup.7z *.html
7z x backup.7z folderwithin/myfile.html

または、eを使用することもできます。

コマンドラインバージョンユーザーガイド には、実際の使用方法に関する詳細情報があるようです。

4
Todd Partridge

7zの構文は次のとおりです(出力フォルダー名を設定するには、"-oMy Folder"オプションを囲むスペースと引用符に注意してください。最初にこれを行ったので、間違った方法でわかりました。* -o "My Folder" *):

7z e "my Zip.zip" "-oMy Folder" *.jpg "all of these.*" -r
1