Рекурсивная распаковка

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Можешь дать линк где ты это показал.
Линк.
Iori писал(а):А gz архив, должен быть создан самим 7зипом, или gзипом?
Без разницы. Но я бы лучше gzip.exe брал.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher
Спасибо за линк, но настроить как, я так и не понял.
Ладно задам вопрос в ветке самого плагина.
Flasher писал(а):Без разницы. Но я бы лучше gzip.exe брал.
Использовал gzip от командера.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):но настроить как, я так и не понял.
Я же объяснял. В одной из папок достаточно наличия 7z.dll, 7z.exe, 7-zip.dll соответствующей битности.
Если архив больше 4гб, то листинг не правильный показывает.
ОК. С точностью до байта? В след. раз пиши в новом сообщении.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher писал(а):Я же объяснял. В одной из папок достаточно наличия 7z.dll, 7z.exe, 7-zip.dll соответствующей битности.
Если можешь, скинь мне твой autorun.cfg.
Flasher писал(а):ОК. С точностью до байта?
Нет конечно. Надо будет детально проверить.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Если можешь, скинь мне твой autorun.cfg.
Шутишь? :mrgreen: Ты только ещё больше запутаешься. Это тебе ни к чему.
Главное — наличие Autorun_Sysinfo.dll и Autorun_Sysinfo.dll64 в папке Plugins и предшествующей команды в конфиге (лучше где-то сверху):

Код: Выделить всё

LoadLibrary Plugins\Autorun_Sysinfo.dll
7-zip.dll не требуется.
В каталоге 7-zip можно создать и одну папку '64', записав:

Код: Выделить всё

If %SYSINFO_OSARCH% = 64 Then
  SetEnv ARCH %SYSINFO_OSARCH%\
Else
  SetEnv ARCH
Unpacker.vbs писал(а):Z7 = "%COMMANDER_PATH%\Utils\7-Zip\%ARCH%7z.exe"
Там же можно продублировать папки Codecs/Formats, скинув туда имеющиеся x64-библиотеки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher писал(а):Шутишь? Ты только ещё больше запутаешься. Это тебе ни к чему.
:lol: Ты что в файл этот зашил код запуска межконтинентальных ракет?

Сделал так:

Код: Выделить всё

If %SYSINFO_OSARCH% = 32 Then 
  SetEnv /EV 7zip %COMMANDER_PATH%\Packers\7zip\7z.exe
Else 
  SetEnv /EV 7zip %COMMANDER_PATH%\Packers\7zip\64\7z.exe
EndIf
В Unpacker.vbs:

Код: Выделить всё

Z7 = "%7zip%"
#LoadLibrary Plugins\Autorun_Process.dll
#LoadLibrary Plugins\Autorun_MoveButton.dll
#LoadLibrary Plugins\Autorun_Process.dll
Включён только LoadLibrary Plugins\Autorun_Sysinfo.dll
Надеюсь так тоже правильно.

Насчёт gzip.
Если 4294967294 байтов, то листинг показывает, а вот если 4294967295, то уже нет.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Сделал так:
Т. е. ты предпочтёшь сотни таких переменных под всякие программы вместо одного потенциального имени папки? Дело, конечно, добровольное, но сомнительное.
Iori писал(а):Надеюсь так тоже правильно.
В зависимости от необходимости использовать те или иные модули. Первый у тебя почему-то дважды прописан.
Насчёт gzip ты точно на 1-цу не ошибся? По идее на концах должно быть 5 и 6, соответственно, если размер 4 Gb пишет с ошибкой, или 6 и 7, если ошибка при более 4 Gb.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher писал(а):Т. е. ты предпочтёшь сотни таких переменных под всякие программы вместо одного потенциального имени папки? Дело, конечно, добровольное, но сомнительное.
Я понимаю что твой подход очень универсальный, и мне он нравится, но что тогда делать, если в одной папке лежат два файла разной разрядности и используют одни и те же файлы?
Скажем, program.exe и program64.exe и используют program.ini и другие библиотеки. Я же не только для 7зипа взял такой подход.
Flasher писал(а):В зависимости от необходимости использовать те или иные модули. Первый у тебя почему-то дважды прописан.
Не понимаю, почему дважды?
Flasher писал(а):Насчёт gzip ты точно на 1-цу не ошибся?
Вроде не ошибся. Сам подумал что как то странно, но как есть.
Можешь попробовать повторить.

Flasher писал(а):По идее на концах должно быть 5 и 6, соответственно, если размер 4 Gb пишет с ошибкой, или 6 и 7, если ошибка при более 4 Gb.
Так и есть, но только листинг палится после 5.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Можешь попробовать повторить.
Верю. Но стоит ещё с другими типами протестировать.
Iori писал(а):Так и есть, но только листинг палится после 5.
Сперва ты писал, что включая, а теперь — после?

[cut="Альтернативный запуск:"]
Iori писал(а):что тогда делать, если в одной папке лежат два файла разной разрядности и используют одни и те же файлы?
Элементарно. Пишешь

Код: Выделить всё

If %SYSINFO_OSARCH% = 64 Then
  SetEnv OSARCH %SYSINFO_OSARCH%
Else
  SetEnv OSARCH
и вызываешь по %COMMANDER_PATH%\Utils\program%OSARCH%.exe. Примеры приводил: 1, 2. Либо таким скриптом.[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher писал(а):Но стоит ещё с другими типами протестировать.
С другими расширениями?
Flasher писал(а):Сперва ты писал, что включая, а теперь — после?
Включая 5. Я ошибся.

[cut]
Flasher писал(а):Элементарно. Пишешь
Спасибо. Это уже интересно. :)
PS: OSARCH можно на своё менять?
[/cut]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):С другими расширениями?
"типами" не просто так написано. У типа, как ты знаешь, может быть множество расширений.
Iori писал(а):Включая 5. Я ошибся.
ОК.

[cut="Альтернативный запуск:"]Да не за что.
Iori писал(а):OSARCH можно на своё менять?
Конечно. Это всего лишь переменная.
Iori писал(а):Не понимаю, почему дважды?
Я тем более..
Iori писал(а):#LoadLibrary Plugins\Autorun_Process.dll
#LoadLibrary Plugins\Autorun_MoveButton.dll
#LoadLibrary Plugins\Autorun_Process.dll
[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher писал(а):"типами" не просто так написано. У типа, как ты знаешь, может быть множество расширений.
Понятно. Надо проверить. Файлы создавал с помощью утил fsutil. Потом паковал в gzip.

[cut]
Не подскажешь, как тогда прописать в autorun.cfg, если файлы в папках 32 и 64.
Пример: 32\програм.ехе и 64\програм.ехе
А может и 32\програм32.ехе и 64\програм64.ехе
Не так?

Код: Выделить всё

If %SYSINFO_OSARCH% = 64 Then
  SetEnv 64dir %SYSINFO_OSARCH%\
Else
  SetEnv 32dir %SYSINFO_OSARCH%\
[/cut]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori писал(а):Файлы создавал с помощью утил fsutil. Потом паковал в gzip.
Логично.

[cut="Альтернативный запуск:"]Ещё раз по ссылке отсюда пройди. Всё. Одна строка. Дальше в пути подставляешь только одну переменную.
Но, откровенности ради, я ещё не встречал программ с постфиксами 32/64, с удалением которых программа неправильно работала или не подхватывала конфиг.[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori
Ну, что? Как тесты?
По поводу поиска архивов с оставшимися расширениями: поищи что-нибудь тут, как время будет.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher писал(а):Ну, что? Как тесты?
Был в отпуске, вот только сегодня вернулся. Так что тестами, пока не занимался.
Flasher писал(а):поищи что-нибудь тут, как время будет.
Хорошо.
Ответить