7zコマンドラインを使用して別のzipファイル内のzipファイルからファイルを抽出する


1

私はこのコマンドを知っています:

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

しかし、私が抽出したいファイルは、例えば別のZipの中のZipにあります。

Archivo1.zip\Carpeta1\Archivo2.zip 

この行を使用しますが、結果としてアーカイブが見つかりません。

C:\Program Files\7-Zip\7z" x "C:\File 1.zip\Folder 1\File 2.zip" -O"C:\Output folder" "Imagen 1.tif"

どうやって仕事をすることができますか?

回答:


1

7zコマンドラインを使用して別のzipファイル内のzipファイルからファイルを抽出する

以下は、私が数年前から7Zip CLIでスクリプト化した方法です。私は必要に応じて対応するためにそれを使用し調整する必要がありました。

これは、他のzipファイル(およびその内容)内のすべてのzipファイル(およびその内容)を、他のzipファイル(およびその内容)から抽出する残りがなくなるまで開始し、開始の[root]親zipファイルから最後の子zipファイルおよびその内容まで再帰的に横断するまで抽出します。 ; すべてのzipおよびsub-zipファイルからファイルを抽出します。

会社が標準としてこのようなデータを送信していて変更できないというばかげた理由で、この方法を使用して約4つのレベルをたどりましたが、私はまだ自分が与えられた部分を自動化できました。


CLI 7zaバッチスクリプト

必要に応じてコピー元、コピー先、および作業ディレクトリの変数を設定し、ファイルをコピー元のディレクトリフォルダにコピーして起動します。そうでなければ、変更することができます*.zip<ParentZipFileName>.zip

:: This script uses the 7zip CLI to extract ZIP file(s) contents in one location to another
:: It then does an XCOPY of extracted ZIP files within the initial extacted files and copies those to a workdir
:: It then deletes ZIP files from source, and extracts the other ZIP files from workdir and loops until complete
:: NOTE that the 7za may need to have the environmental variable set accordinly

SET sourcedir=C:\Source
SET destdir=C:\Dest
SET workdir=C:\Workdir
IF NOT EXIST "%sourcedir%" MD "%sourcedir%"
IF NOT EXIST "destdir%" MD "%destdir%"
IF NOT EXIST "%workdir%" MD "%workdir%"

:unzip
7za -Y e "%sourcedir%" -o"%destdir%" -r
IF EXIST "%workdir%\*.zip" DEL /Q /F "%workdir%\*.zip"
XCOPY /Y /F "%destdir%\*.zip" "%workdir%\"
IF EXIST "%destdir%\*.zip" DEL /Q /F "%destdir%\*.zip"

DIR "%workdir%\*.zip" /A-D                         
ERRORLEVEL 1 GOTO done

:unzip2
7za -Y e "%workdir%" -o"%destdir%" -r
IF EXIST "%workdir%\*.zip" DEL /Q /F "%workdir%\*.zip"
XCOPY /Y /F "%destdir%\*.zip" "%workdir%\"
IF EXIST "%destdir%\*.zip" DEL /Q /F "%destdir%\*.zip"

DIR "%workdir%\*.zip" /A-D                         
IF ERRORLEVEL 1 GOTO done
GOTO unzip2

:done
GOTO EOF

その他の資料

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.