Кто-нибудь знает, как распаковать выделенный список, чтобы они распаковывали в папки с именами файлов (под Windows)?

2 ответа2

0

Это не работает с выделенным списком, но в моем ответе на https://stackoverflow.com/a/18791568/116891 у меня есть пакетный скрипт, который разархивирует все файлы в текущем каталоге:

:: To actually include the path expansion character (tilde), I had to give valid numbers; see http://ss64.com/nt/rem.html for bug reference. Also, try call /? for more info.
@REM The %~n0 extracts the name sans extension to use as output folder. If you need full paths, use "%~dpn0". The -y forces overwriting by saying yes to everything. Or use -aoa to overwrite.
@REM Using `x` instead of `e` maintains dir structure (usually what we want)

@FOR /R %%a IN (*.zip) DO @(
    @if [%1] EQU [/y] (
        @7z x "%%a" -o"%%~dpna" -aoa
    ) else (
        @echo 7z x "%%a" -o"%%~dpna" -aoa
    )
)

@echo USAGE: Use /y to actually do the extraction

Если вы хотите, чтобы графический интерфейс делал распаковку, вы можете попробовать http://www.extractnow.com/ (как описано несколько в разделе Как я могу рекурсивно извлечь zip-файлы в Windows, включая удаление?)

0

unzip *

"unzip" запускает процесс, который разархивирует, «*» - это глоб, который передает весь файл в текущей директории процессу; следовательно, все файлы в каталоге распаковываются процессом, который вы запускаете этой командой.

По умолчанию он распаковывается в папку с именем zip в качестве имени папки.

Если вы хотите разархивировать только определенные файлы, сделайте глобус более конкретным; или используйте find с регулярным выражением.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .