Eu tenho um conjunto de subpastas com arquivos .gz enterrados nelas. Preciso descompactar os arquivos e manter a mesma estrutura de diretórios. Eu tenho usado
for /f "usebackq" %i in (`dir *.gz /s/b`) do 7za x %i
que encontrará os arquivos e os descompactará, mas enviará os arquivos descompactados para a raiz da pasta em vez de mantê-los no diretório em que foram encontrados. Alguém poderia me dizer como posso descompactar os arquivos nas pastas em que foram encontrados?
Responder1
Suponha que você tenha C:\dir1\dir2
dir2 e seus subdiretórios contenham os arquivos .GZ, execute o seguinte em C:\dir1
:
for /r "dir2" %a in (.) do 7za x -o"%~a" "%~a\*.gz"