Descompacte vários arquivos em várias subpastas

0

Eu tenho um monte de arquivos compactados (.rar, .zip) espalhados em várias subpastas, mas todos na mesma pasta base (F: \ 1).

Eu queria saber se havia uma maneira de descompactar cada arquivo enquanto ainda mantinha seu nome original (zipado file.zip se transformaria em F: \ 1 \ zipado).

E, se possível, exclua o arquivo zip original mantendo apenas a pasta descompactada.

Existe uma maneira de fazer isso com um arquivo em lotes para que eu não precise fazer cada pasta por vez?

Obrigado pessoal:)

    
por Chris Jackson 27.10.2016 / 19:42

1 resposta

0

seu qestion é bastante ambíguo. Um arquivo geralmente contém mais de um arquivo e pode ter subpastas incluídas. Se você quiser criar um folder com o mesmo nome do arquivo (sem extensão) e armazenar todo o conteúdo do arquivo, este é um ponto de partida.

:: Expand-Archive.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::::
@Echo off&SetLocal EnableExtensions
Set Base=F:
if exist "%~1" Set "Base=%~f1"
Pushd %Base% ||(Echo Can't cd to base folder %base% &Pause&Exit)
For /f "delims=" %%A in ('Dir /B/S/A-D *.zip *.rar') Do Call :Expand "%%A"
PopD
Goto :Eof

:Expand
Set "_Folder=%~dp1"
PushD "%_Folder%"
Set "_Archive=%~nx1"
Set "_NewSubFolder=%~dpn1"
:: Your own code to expand the Archive goes here.
:: I don't know what tool (7zip Infozip etc.) you usually use.
::
:: with 7z somewhere in your path this might work,
:: remove Echo in the following 2 Lines.
Echo MkDir  "%_NewSubFolder%"
Echo 7z x -O"%_NewSubFolder%" "%_Archive%" && Del "%_Archive%"
PopD
Goto :Eof
:: Expand-Archive.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::::

HTH

    
por 28.10.2016 / 23:26