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

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

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

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

Сообщение Flasher »

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

Сообщение Iori »

Flasher
Ну, так чем проверка-то закончилась?
К сожалению не смог этот же компьютер проверить. Чинил его у приятеля.
На моём всё работает. :)

Здесь другая проблема.
Ваш скрипт не хочет распаковывать вот этот файл. Именно этот.
http://rghost.net/8kJZNXbPd
https://www.virustotal.com/en/file/9854 ... /analysis/

Стоит 7-Zip 9.38. Сам 7zip открывает без проблем.
Total7Zip тоже открывает через CTRL+PAGEDOWN.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение Iori »

Flasher

Понятно.
Ладно, подождём. Может Игорь исправит в следующей бэте.
Nick
Сообщения: 107
Зарегистрирован: Пт дек 26, 2014 17:11

Сообщение Nick »

Вопрос по поводу этого скрипта.
Возможно ли как-то повысить стабильность работы (а также, по возможности, и скорость), т.е. этот скрипт работает через несколько раз (довольно нестабильно). Что нужно изменить, чтобы была возможность распаковки в противоположную панель?
И можно ли как-то еще сделать, чтобы скрипт распаковывал различные форматы, а не только, те, которые указаны в нем?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Nick писал(а):а также, по возможности, и скорость
Меня скорость устраивает. Ничего принципиально тут не изменить. Вся ноша фактически на утилите.
Nick писал(а):т.е. этот скрипт работает через несколько раз
Боюсь, мне это ни о чём не говорит.
Nick писал(а):Что нужно изменить, чтобы была возможность распаковки в противоположную панель?
У скрипта иное предназначение (см. описание). Для этого есть иные варианты.
Nick писал(а):И можно ли как-то еще сделать, чтобы скрипт распаковывал различные форматы, а не только, те, которые указаны в нем?
Он распаковывает ровно те форматы, которые поддерживает утилита. Какие ещё иные форматы востребованы?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Nick
Сообщения: 107
Зарегистрирован: Пт дек 26, 2014 17:11

Сообщение Nick »

Flasher писал(а):Ничего принципиально тут не изменить
Возможно это из-за кодировок? Имеется в виду хотя бы появление папок в панели.
Flasher писал(а):мне это ни о чём не говорит
Просто не работает. Начинает работать после вызова скрипта несколько раз подряд.
Flasher писал(а):Для этого есть иные варианты
Данный скрипт работает еще более нестабильно, но если срабатывает, то работает сразу.
Flasher писал(а):распаковывает ровно те форматы, которые поддерживает утилита
Дело в том, что 7-zip пытается распаковать даже те форматы, которые официально не поддерживаются (да и в скрипте не все поддерживаемые указаны). Как можно изменить, чтобы распаковывал не только те, которые указаны в скрипте, а также и других расширений?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Nick писал(а):Имеется в виду хотя бы появление папок в панели.
А автообновление в ТС включено?
Nick писал(а):Начинает работать после вызова скрипта несколько раз подряд.
А если в последней строке вставить ... Sub Quit : WSCript.Sleep 50 : Set ...?
Nick писал(а):Данный скрипт работает еще более нестабильно
Дело не в стабильности, а в предназначении. Если нам нужно распаковывать в другую панель, то зачем тут вообще рекурсия, установка курсора и т.п., если можно обходиться более простыми средствами (вроде этого)?
Nick писал(а):даже те форматы, которые официально не поддерживаются
Например, какие?
Nick писал(а):да и в скрипте не все поддерживаемые указаны
Какие не указаны?
Nick писал(а):Как можно изменить, чтобы распаковывал не только те, которые указаны в скрипте, а также и других расширений?
Это зависит от тех жизненно необходимых форматов, которые я просил перечислить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher,

Давно использую ваш модифицированный (7зип gui) скрипт по распаковке с помощью 7зип.
Последнее время заметил что он не хочет распаковывать некоторые зип архивы. Дело не в 7зипе а скорее всего в скрипте.
Нет никаких ошибок, просто скрипт как будто не срабатывает.

Вот пример: http://rghost.net/8QmbzFqYS
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Iori
Дело и в утилите тоже. Её листинг при определённых методиках сжатия игнорирует одиночные папки, что ломает фильтрацию. Если особо не заморачиваться с распаковкой одиночных папок, то можно добавить выделенное в соотв. строке (смотря какой именно скрипт):
  • If Sum > 0 Or FSO.GetFile(Arch).Size Then
Правда, если в архиве окажутся только нулёвки, то это не сработает. Можно, конечно, заморочиться с построчным чтением, но это неслабо скажется на скорости вывода.
Хотя есть ещё один способ, но он касается только zip. Если с другими типами такой проблемы не наблюдается, то в этой части могу исправить.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Iori
Сообщения: 552
Зарегистрирован: Ср апр 25, 2012 20:33

Сообщение Iori »

Flasher

Вот скрипт который вы подправили под 7зип gui.

Что значит одиночные папки? Папки без файлов?

Вроде

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

If Sum > 0 Or FSO.GetFile(Arch).Size Then
помогла.
Последний раз редактировалось Iori Сб дек 19, 2015 02:48, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение Iori »

Хотя есть ещё один способ, но он касается только zip. Если с другими типами такой проблемы не наблюдается, то в этой части могу исправить
Отлично :)
Можмо попробовать, буду рад. :D
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

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

Сообщение Iori »

Flasher

Я думал вы говорили про

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

If Sum > 0 Or FSO.GetFile(Arch).Size Then
. Убрать код из скрипта. :oops:
Ответить