Как я могу разархивировать несколько файлов «7z» за один раз, и содержимое будет помещено в соответствующую папку с тем же именем, что и файл zip?

611
Lucas

Как следует из заголовка, я хотел бы знать, как можно разархивировать несколько файлов «7z» одновременно и разместить содержимое файлов .7z в папке (в том же каталоге, что и «.7z») с то же имя, что и файл .7z. Кроме того, возможно ли автоматически создавать папки, если они не существуют?

0

1 ответ на вопрос

1
Seth

Не похоже, что есть опция командной строки, поэтому вам придется использовать какой-то цикл. Пример может выглядеть так:

#!/bin/bash for i in *.7z do dirName=$ mkdir "$dirName" 7za x -o"$dirName" $i done 
Заключите в кавычки `" $ dirname "`, иначе это будет беспорядок в случае пробелов ... `;-)` ... возможно лучше `для i в * .7z`, чтобы избежать синтаксического анализа ls ([trdr;] (http : //unix.stackexchange.com/q/128985/66388) другие проблемы с символами новой строки и специальными символами.) Hastur 7 лет назад 0
Но кто будет использовать пробелы в системе Linux! Вы правы. Seth 7 лет назад 0
Там полно людей, которые продолжают использовать Windows там ... `: -D` и продолжают отправлять вам файлы ... Hastur 7 лет назад 0