Ru-Board.club
← Вернуться в раздел «Программы»

» 7-Zip / 7z (часть 2)

Автор: andrewtishkin
Дата сообщения: 07.09.2009 18:30

Цитата:
внутри архив 7z

)))
Adobe, Embarcadero, теперь ещё и Microsoft
Автор: suomifinland
Дата сообщения: 11.09.2009 10:15
Ребята помогите..!

Есть около 900 7Z-архивов школьных уроков, задача состоит в том как АВТОМАТОМ положить в эти архивы, небольшой текстовый файл readmi.doc .

Помогите мальчики, в школе проверка, а я не заархивировала все это в школьную медиатеку... Завал
Автор: egor23
Дата сообщения: 11.09.2009 10:24
suomifinland

Цитата:
Есть около 900 7Z-архивов

1. так архивы rar или 7-zip?
2. в соседнем топике уже Вам подсказали как сделать.
Автор: suomifinland
Дата сообщения: 11.09.2009 11:06
Увы не работает...
Автор: sabio
Дата сообщения: 11.09.2009 21:30
suomifinland
если архивы с solid сжатием, то единственный способ - использовать новую версию 9.х 7-zip

(файлик, кстати, правильнее было бы назвать readme.doc)
Автор: ewild
Дата сообщения: 12.09.2009 04:27

Цитата:
Есть около 900 7Z-архивов школьных уроков, задача состоит в том как АВТОМАТОМ положить в эти архивы, небольшой текстовый файл readmi.doc


suomifinland
не знаю, как именно советовали Вам поступить в "соседнем топике" (не могу знать где это), но вот такой вариант должен работать (если только как правильно отмечено выше архивы не с solid сжатием):

Исходные данные:
1.1) 7-Zip установлен по умолчанию, т.е. c:\Program Files\7-Zip
если нет - путь к 7z.exe %ProgramFiles%\7-Zip необходимо изменить на фактический
1.2) все 900 архивов находятся в папке d:\900archives и её подпапках (путь d:\900archives необходимо изменить на фактический)

Действия:
2.1) создайте .bat (например d:\900z.bat) файл следующего содержания:

Код: @echo off
for /r "d:\900archives" %%j in ("*.7z") do "%ProgramFiles%\7-Zip\7z.exe" a "%%j" "readme.doc"
Автор: slech
Дата сообщения: 13.09.2009 19:24
подскажите пожалуйста как быть если надо упоковать в 1 архив
C:\1
D:\1
7 zip говорит что повторяющиеся имена.

спасибо.
Автор: sabio
Дата сообщения: 13.09.2009 20:01
slech
разве только если переименовать (создать копию с другим именем) перед упаковкой..
Автор: rs
Дата сообщения: 17.09.2009 09:33
Помогите, пожалуйста, решить проблему.

Имеются файлы в каталогах:
C:\Dir\db\nested\test.txt
C:\Dir\db\test.DBF
C:\Dir\db\test.NTX

Необходимо упаковать так, чтобы
1) каталоги в архиве начинались с уровня Dir,
2) в архив не попали подкаталоги каталога Dir и любые файлы с расширением ntx.

Другими словами, архив должен содержать:
Dir\db\test.DBF

Следующая последовательность вызовов решает поставленную задачу лишь частично:
cd /D c:\
"c:\Program Files\7-Zip\7z.exe" a test.7z Dir\db -xr0!*.ntx -r0

Созданный таким образом архив содержит:
Dir\db\nested\test.txt
Dir\db\test.DBF

Т.е. структура каталогов, начиная с Di,r создается, ntx-файлы исключаются, но вот вложенный в Dir подкаталог nested также упаковывается, что не требуется. Как избежать упаковки каталога nested?

Такие варианты также не достигают цели:
"c:\Program Files\7-Zip\7z.exe" a test.7z Dir\db\* -xr0!*.ntx -r-

Если попытаться исключить вложенные каталоги так, то в архив вообще ничего не попадает:
"c:\Program Files\7-Zip\7z.exe" a test.7z Dir\db -xr0!*.ntx -xr0!*\*

PS: Вложенные подкаталоги, естественно, могут иметь любое имя: nested - лишь в качестве примера.
Автор: sabio
Дата сообщения: 17.09.2009 10:24
rs
а почему в
7z a test.7z Dir\db\* -xr0!*.ntx -r-
заменили Dir\db на Dir\db\* ?
и как именно этот вариант "не работает"? папка nested всё равно попадает в архив со всем содержимым?

Добавлено
если вложенные папки без расширений, а все нужные файлы наоборот с расширениями, то можно обойти таким "хаком":
7z a test.7z Dir\db\*.* -xr0!*.ntx

а ещё можно воспользоваться архиватором с нормальной поддержкой ком. строки, без всяких извращений
например, для FreeArc работает такая команда:
arc a test.arc Dir\db\* -x*.ntx
Автор: rs
Дата сообщения: 17.09.2009 14:52
Спасибо, решение нашлось:
"c:\Program Files\7-Zip\7z.exe" a test.7z Dir\db -xr0!*.ntx -xr0!*\*\*\

Стоит задача архивирования очень больших объемов корпоратвиной информации, поэтому вопросы надежности выступают следом за бесплатностью. FreeArc же пугает сыростью.



Добавлено:
Собственно, решение, не являющееся хаком и полностью соответствующее документации.
Автор: lorents
Дата сообщения: 21.09.2009 17:28
подскажите что значит, метод сжатия



какие параметры сжатия использовались?
Автор: iglezz
Дата сообщения: 21.09.2009 18:42
lorents
Информация имеется в справке (7z-zip.chm) в описании ключа -m (Command Line Version -> Switches -> -m)
Если в двух словах, то это что-то типа фильтра для PE-файлов (exe, dll, ...), позволяет улучшить степень сжатия (и порой весьма неплохо).
Применяется автоматически для данного типа файлов при степени сжатия Ultra.
Там-же (в справке) есть и примеры использования оного.
Автор: lorents
Дата сообщения: 21.09.2009 19:05
iglezz

Цитата:
Информация имеется в справке (7z-zip.chm) в описании ключа -m (Command Line Version -> Switches -> -m)

это я читал, прошу прошения, я навено не правильно сказал что мне надо
меня интересует что значит например LZMA:48, мне не понятно что такое 48, если это размер словаря то почему там несколько LZMA.
Автор: sabio
Дата сообщения: 21.09.2009 19:10
lorents

Цитата:
почему там несколько LZMA

потому что BCJ2 даёт на выходе четыре отдельных потока данных (четвёртый уже сжат)
про это тоже написано в документации
Автор: lorents
Дата сообщения: 21.09.2009 20:12
sabio

Цитата:
потому что BCJ2 даёт на выходе четыре отдельных потока данных (четвёртый уже сжат)

спасибо!

Цитата:
про это тоже написано в документации

простите но я не нашел, где это, не подскажите где это все-таки?
и еще а LZMA:20, то 20 это размер словаря? просто странно, т.к. у меня есть архив который имеет следующий метод сжатия
то если я ставлю размер словаря больше чем в данном архиве, то я получаю новый архив который весит больше чем исходный
Автор: sabio
Дата сообщения: 21.09.2009 20:20
lorents
в самом конце страницы с описанием параметра -m:

Цитата:

BCJ2 is a Branch converter for 32-bit x86 executables (version 2). It converts some branch instructions for increasing further compression.

A BCJ2 encoder has one input stream and four output streams:

- s0: main stream. It requires further compression.
- s1: stream for converted CALL values. It requires further compression.
- s2: stream for converted JUMP values. It requires further compression.
- s3: service stream. It is already compressed.

If LZMA is used, the size of the dictionary for streams s1 and s2 can be much smaller (512 KB is enough for most cases) than the dictionary size for stream s0.
Автор: lorents
Дата сообщения: 21.09.2009 20:41
sabio
Спасибо!

egor23
Спасибо!
Автор: egor23
Дата сообщения: 21.09.2009 21:00
lorents

Цитата:
то если я ставлю размер словаря больше чем в данном архиве, то я получаю новый архив который весит больше чем исходный

1. размер словаря будет <=размера данных
2. если кроме словаря ничего не крутите, то получите несколько блоков (два или более) в архиве, т.к. exe\dll будут сгруппированы в отдельный блок и к нему будет применён bcj2. Каждый блок упаковывается сам по себе.
В параметры пропишите:
0=bcj2 1=lzma:d=128m:fb=273:mf=bt4 2=lzma:d=1m 3=lzma:d=1m b0:1 b0s1:2 b0s2:3
или
0=bcj2 1=lzma2:d=128m:fb=273:mf=bt4 2=lzma2:d=1m 3=lzma2:d=1m b0:1 b0s1:2 b0s2:3
Автор: Bulat_Ziganshin
Дата сообщения: 23.09.2009 08:19
а вот этого http://forum.oszone.net/post-970472-604.html вроде в шапке нет?
Автор: GORA2
Дата сообщения: 25.09.2009 10:37

Цитата:
а вот этого http://forum.oszone.net/post-970472-604.html вроде в шапке нет?

Загрузчик обновил и добавил в шапку. Ссылка прямая.
Автор: Chauvinist
Дата сообщения: 27.09.2009 02:06
Как избавится от дубля в контекстном меню?

Автор: andrew1692
Дата сообщения: 27.09.2009 02:14
в настройках есть свойства плагина , там настраивается
Автор: Victor_VG
Дата сообщения: 27.09.2009 02:25
Chauvinist

Проверить Реестр. Это явление в 99% случаев признак его повреждения. Использовать автоматику не советую - дров наломает, потому остаётся один вариант: справочник по Реестру на стол и редактор Реестра в качестве инструмента, ну и плюс время на эту работу с учётом собственной усталости. Я могу предложить использовать Registrar Registry Manager (есть не официальный русский перевод от AlexAgr, но с ней надо быть как и с любым инструментом такого класса поосторожнее - можно так Реестр повредить, что система просто не запустится.
Автор: Chauvinist
Дата сообщения: 27.09.2009 02:56
andrew1692

Цитата:
в настройках есть свойства плагина , там настраивается


Серьёзно? Ну и как же там это настроить?

Victor_VG

Цитата:
Проверить Реестр. Это явление в 99% случаев признак его повреждения.


Ничего там не повреждено..


Цитата:
справочник по Реестру на стол и редактор Реестра в качестве инструмента, ну и плюс время на эту работу с учётом собственной усталости. Я могу предложить использовать Registrar Registry Manager (есть не официальный русский перевод от AlexAgr, но с ней надо быть как и с любым инструментом такого класса поосторожнее - можно так Реестр повредить, что система просто не запустится.


Послушайте,дело не в этом,спасибо конечно за ликбез. Меня интересует почему 7-Zip создаёт несколько ветвей

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\7-Zip
HKEY_CLASSES_ROOT\7-Zip.7z\shell\open\command
HKEY_CLASSES_ROOT\Applications\7zFM.exe\shell\open\command

HKEY_CLASSES_ROOT\CLSID\{23170F69-40C1-278A-1000-000100020000}7-Zip Shell Extension

HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers\7-Zip

------------

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\7-Zip
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\7-Zip.7z\shell\open\command
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\7zFM.exe\shell\open\command

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{23170F69-40C1-278A-1000-000100020000} 7-Zip Shell Extension

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shellex\ContextMenuHandlers\7-Zip



Автор: andrew1692
Дата сообщения: 27.09.2009 03:25
может проще переустановить?
Автор: Victor_VG
Дата сообщения: 27.09.2009 04:48
Chauvinist

А это одна ветка - ключ HKEY_CLASSES_ROOT виртуальный, это отображение на адресное пространство ядра подключа HKEY_LOCAL_MACHINE\SOFTWARE\Classes из улья SYSTEM, так же как на виртуальный ключ HKEY_CURRENT_USER отображается пара реальных ключей из улья USERS - HKEY_USERS\S-1-5-... и HKEY_USERS\S-1-5-..._Classes соответствующая текущему пользователю, и ряд других отображений. Это просто сделано для нашего удобства. А будь это сделано как config.sys в IBM OS/2, или в конфигах UNIX систем z/390, AIX. AS/400, SUN OS, HP-UX, BSD, а про ОС для майнфрймов System 360/370 - OS/370 я просто не говорю - вот там бы пришлось повозится, а тут всё давно снабжено кучей "мурзилок" и справок, достаточно просто полистать...
Автор: Chauvinist
Дата сообщения: 27.09.2009 11:57
Victor_VG

Да причём тут это и ваши советы разобрать по полочкам работу реестра с помощью "мурзилок"?

Я спрашиваю какие из этих веток создают дубль. Только что снёс 7-Zip,в реестре все его ветки удалил,инсталлировал заново и опять дубль при клике ПКМ на ярлыки программ..
Автор: Dmytrom
Дата сообщения: 28.09.2009 14:33
Версия 7z какая? Версия windows?
Автор: Chauvinist
Дата сообщения: 28.09.2009 15:32
XP Pro SP3 - 7-Zip 9.07 beta

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135

Предыдущая тема: RDM+, TSMobiles и VNC+


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.