Кто-нибудь знает, как распаковать выделенный список, чтобы они распаковывали в папки с именами файлов (под Windows)?
2 ответа
Это не работает с выделенным списком, но в моем ответе на 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, включая удаление?)
unzip *
"unzip" запускает процесс, который разархивирует, «*» - это глоб, который передает весь файл в текущей директории процессу; следовательно, все файлы в каталоге распаковываются процессом, который вы запускаете этой командой.
По умолчанию он распаковывается в папку с именем zip в качестве имени папки.
Если вы хотите разархивировать только определенные файлы, сделайте глобус более конкретным; или используйте find
с регулярным выражением.