У меня есть набор подпапок с файлами .gz, зарытыми в них. Мне нужно распаковать файлы и сохранить структуру каталогов прежней. Я использовал
for /f "usebackq" %i in (`dir *.gz /s/b`) do 7za x %i
который найдет файлы и распакует их, но отправит распакованные файлы в корень папки вместо того, чтобы сохранить их в каталоге, где они были найдены. Может кто-нибудь сказать мне, как я могу распаковать файлы в папки, где они были найдены?
решение1
Предположим, что у вас есть C:\dir1\dir2
dir2 и его подкаталоги, содержащие файлы .GZ, запустите следующее C:\dir1
:
for /r "dir2" %a in (.) do 7za x -o"%~a" "%~a\*.gz"