recursivo 7Zip descompactar e renomear é subdiretórios

1

Eu tenho um diretório raiz com muitos subdiretórios diferentes que possuem arquivos .zip (exemplo abaixo). Eu preciso de um lote / .cmd / etc para descompactar os arquivos zip em seus sub-diretórios e renomear o arquivo extraído (a .tif) o mesmo que o arquivo zip. Eu pesquisei em torno e encontrei o seguinte código, no entanto, isso só funcionará quando colocado nos subdiretórios. Não é a pasta pai. Como faço esse código funcionar em todos os subdiretórios, conforme explicado?

Exemplo de estrutura de arquivos

C: \ Este \ É \ Aleatório \ Pai \ Sub \ Sub \ 1234.zip {ABCD.tif}

O que eu estou procurando C: \ Este \ É \ Aleatório \ Pai \ Sub \ Sub \ 1234.tif

set work=%temp%\%random%%random%%random%%random%
mkdir "%work%" || goto :eof

for %%A in ('dir /b /s *.zip *.rar') do (
"%ProgramFiles%-Zipz.exe" e -o"%work%" "%%~A"
for %%F in ("%work%\*") do move "%%~F" "%%~nA%%~xF"
)

rmdir "%work%"
    
por gdink1020 21.10.2017 / 02:19

1 resposta

1

Consegui fazer as seguintes alterações para alcançar o que procurava

set work=%temp%\%random%%random%%random%%random%
mkdir "%work%" || goto :eof

for /F %%I IN ('dir /b /s *.zip *.rar') do (
"%ProgramFiles%-Zipz.exe" x -o"%work%" "%%~I"
for %%F in ("%work%\*") do move "%%~F" "%%~nI%%~xF"
)

rmdir "%work%"

O único problema agora é que ".zip" está incluído no nome do .tif extraído. Ajudar a resolver isso seria apreciado

    
por 21.10.2017 / 15:43