7-Zip command line to extract a folder from an archive
Solution 1
You need to use 7z x archive.zip
to extract with full paths. See: http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract_full.htm
Solution 2
There should probably be a hyphen in front of the o
:
-oC:\abc
Also consider the -r
option for recursion.
Solution 3
I had to solve a similar problem. Here is the code I used. This script receives a folder and unzips all zips (and deletes them afterwards). The trick is to unzip the data into a special folder. A little bit edgy but it works...
@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
Related videos on Youtube
![meds](https://i.stack.imgur.com/l3JE3.jpg?s=256&g=1)
meds
Updated on September 18, 2022Comments
-
meds almost 2 years
I'm using the 7-Zip commandline to extract a ZIP archive called
abc.zip
which is an archive with a folder called 'zipper' with three text files in it (a.txt
,b.txt
, andc.txt
).My problem is when I extract it with the following command:
7z e C:\abc\abc.zip -y oC:\abc
7-Zip extracts everything, but it doesn't extract the folder 'zipper', it just extracts
a.txt
,b.txt
andc.txt
and puts them in the output destination (that is,C:\abc
).How can I make 7-Zip just extract the actual folder?
-
contactmatt over 4 years+1 thought the switch -e would be sufficient.