Какой командой для 7zip распаковать архивы из заданной директории?
Не смог найти простой скрипт для распаковки всех архивов различного типа из D:\Downloads в подпапки в соответствии с именами архивов и последующим удалением архивов.
Если ограничится единственным вызовом 7-Zip, то распаковать все архивы из текущего каталога в одноимённые (без расширений) архивам каталоги можно командой 7z x * -o*
Но, насколько я знаю, 7-Zip позволяет удалять только файлы внутри архивов или после успешного добавления в архив. Поэтому для удаления архивов надо использовать сторонние по отношению к 7-Zip средства. Например, в командном файле del *.7z *.zip *.rar
Или перенаправить вывод 7z в файл и затем из него получить имена (успешно) обработанных архивов, чтобы их удалить…
Работает! Только оказалось, что внутри архивов вложены еще архивы и команда их видит при повторном запуске с помощью ключа -r, т.е. когда эти архивы уже не внутри архива, а внутри папки. Реально ли за один вызов скрипта распаковать вложенные архивы?
— только сейчас увидел, что «скрипта», а не «команды». Скрипт (например, командный файл), рекурсивно вызывающий 7-Zip, конечно, можно сделать; как обойтись единственным вызовом архиватора — не представляю.