Любой метод для пакетного сжатия нескольких файлов?

кто-нибудь знает, как можно сжать несколько файлов GZIP?


У меня есть много файлов в папке, и мне нужно сжать их по отдельности.

на самом деле, я нашел способ сделать это. Команды gzip бинарных линии делает свою работу.

я использовал gzip -r dir.

Спасибо за ваши усилия.

17
задан Hennes
23.12.2022 12:29 Количество просмотров материала 3175
Распечатать страницу

6 ответов

просто используйте только gzip.

по умолчанию gzip берет любой переданный ему файл, сжимает его и добавляет .расширение gz. то есть

gzip dir/* -r

будет gzip каждый файл в директории / * (и подкаталоги).

2
отвечен TheCompWiz 2022-12-24 20:17

попробуйте выполнить следующие действия в powershell (после перехода в правильный каталог):

$files = get-childitem

foreach ($file in $files) {gzip $file}

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

Edit: если вы хотите сделать все файлы в дереве каталогов (т. е. в папке и всех ее подпапках) просто изменить $files = get-childitem to $files = get-childitem -recurse

4
отвечен soandos 2022-12-24 22:34

Я бы использовал for петли. Вы обеспокоены тем, что исполняемый файл будет загружен много раз? Это не должно быть много, по сравнению с временем, затрачиваемым на сжатие.

3
отвечен Miserable Variable 2022-12-25 00:51

GZIP можно использовать для сжатия отдельных файлов... но большую часть времени вы увидите минимальную экономию дискового пространства. Файлы, занимающие 1 сектор, будут занимать 1 полный сектор дискового пространства, даже если размер файла меньше размера сектора. (т. е. размер сектора = 16kb, файл 8kb... 'сжатый' является 5кб... по-прежнему занимает 16 Кб "дискового пространства") мощность gzip гораздо более очевидна, когда вы объединяете все файлы в один файл (обычно используя tar), а затем сжимаете единственный архив. (объединенный, "архив" может взять все файлы и объединить их в 1 сингулярный файл на диске... который будет иметь меньше "мертвой зоны" между секторами)

например:

tar -czf compressed_archive.tgz folder/*

tar -c создается архив, z использует сжатие gzip, а f записывает результаты в файл с именем compressed_archive.tgz. Вы также можете переключиться на использование сжатия bz2 (что во многих случаях лучше), просто переключив z перейти к j.

если вы хотите затем извлечь файлы из архива, вы можете просто сделать обратное

tar -zxf compressed_archive.tgz

что бы x извлечь файлы z архив gzip, f из архива файл под названием compressed_archive.tgz.

2
отвечен TheCompWiz 2022-12-25 03:08

использовать 7-Zip для лучшего сжатия

1
отвечен Siva Charan 2022-12-25 05:25

Я обнаружил, что мне пришлось адаптировать метод soandos powershell, чтобы заставить его работать должным образом (я бы добавил комментарий, но пока не разрешил).

$files = get-childitem -recurse | % { $_.FullName }
foreach ($file in $files) {gzip $file}
1
отвечен beigemartin 2022-12-25 07:42

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх