アーカイブからフォルダーを抽出する7-Zipコマンドライン


16

私が使用している7 -ジップ抽出するために、コマンドラインをZIPに呼ばれるアーカイブabc.zipそれに3つのテキストファイルに「ジッパー」と呼ばれるフォルダ(とアーカイブですa.txtb.txtなどをc.txt)。

私の問題は、次のコマンドで抽出するときです。

7z e C:\abc\abc.zip -y oC:\abc

7 -ジップ抽出物のすべてが、それは、フォルダ「ジッパー」、それだけ抽出を抽出していないa.txtb.txtc.txtして出力先(で、中プットそれらをC:\abc)。

7-Zipで実際のフォルダーのみを抽出するにはどうすればよいですか?

回答:



9

の前におそらくハイフンがあるはずoです:

-oC:\abc

-r再帰のオプションも検討してください。


0

同様の問題を解決しなければなりませんでした。これが私が使用したコードです。このスクリプトはフォルダーを受信し、すべてのzipを解凍します(その後、それらを削除します)。秘Theは、データを特別なフォルダーに解凍することです。少しエッジが効いていますが、うまくいきます...

@echo off

set SEVEN_ZIP_HOME=C:\Program Files\7-Zip

set TEMPDIR=temp

set WORKING_DIR="%1"

if "%WORKING_DIR%"==""  set WORKING_DIR=%~dp0

cd /d %WORKING_DIR%

if not exist %TEMPDIR% md %TEMPDIR%

for %%i in ("%WORKING_DIR%\*.zip") do call :unzipAndDelete "%%i"

rd %TEMPDIR%

goto :end

:unzipAndDelete 

set ZIP_FILE=%~1

call :extractName %ZIP_FILE%

call "%SEVEN_ZIP_HOME%\7z.exe" e "%ZIP_FILE%" -o./%TEMPDIR%

copy .\%TEMPDIR%\*.* %FILENAME%.log

del .\%TEMPDIR%\*.* /q

del "%ZIP_FILE%"

goto :end

:extractName 

set FILENAME=%~n1
goto :end


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