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

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

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

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

Сообщение Flasher »

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

Сообщение Nick »

Flasher
Flasher писал(а):Советую ещё раз перечитать здешнее послесловие.
Имеется в виду это сообщение ?
Если это по поводу создания новой темы, то ведь подобной задачи в принципе, вроде, не было.
Flasher писал(а):Bas поменять на Fil, я полагаю
Т.е. в строке 112 и 113:
Name = FSO.GetBaseName(FF) & "." & Ext
If FSO.FileExists(Path & FSO.GetBaseName(FF) & "." & Ext) Then

Заменить на:
Name = FSO.GetFileName(FF) & "." & Ext
If FSO.FileExists(Path & FSO.GetFileName(FF) & "." & Ext) Then

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

Сообщение Flasher »

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

Сообщение Nick »

Flasher
Пока, вроде, нормально работает.

[cut="Прочее"]
Flasher писал(а):"Здешнее" - значит, из этого топика
А, если, более конкретно-то, что имеется в виду?[/cut]
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Nick
Спойлер с P.S. — на предыдущей странице.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Nick
Сообщения: 107
Зарегистрирован: Пт дек 26, 2014 17:11

Сообщение Nick »

Flasher
Небольшой offtopic.
[cut="Прочее"]
Flasher писал(а):Ну, может, благодарность ещё в ЛС переместим или вообще мне на мыло отправим, чего уж там в спойлер прятать?
Для большинства форумов это вообще является общими запретами для всего форума. Просто, для примера:
Пример 1
Общие запреты для всего форума:
Создание сообщений вида "Спасибо", "Супер" и т.п. Для выражения благодарности есть кнопка у каждого сообщения и Личные сообщения.
Пример 2
Сообщения, содержащие только благодарности по типу - "Спасибо", "Благодарю" , "Очень благодарен", "сэнкс" - удаляются и приравниваются на форуме к остальным нарушениям данного пункта правил.
Flasher писал(а):Экономия на текстовых файлах давно неактуальная задача. У меня одна из флешек - 240 Гб. Кого мне там экономить?
Это не экономия на текстовых файлах :wink:. Дело в том, что папка _files содержит большое количество небольших по размеру файлов. На диске из-за размера кластера эти файлы занимают намного больше места, да и скорость диска существенно уменьшается (MFT также существенно увеличивается) при копировании или перемещении небольших файлов (особенно, если их достаточно много). Ну, и, конечно, не у всех есть такие большие USB flash накопители :wink:.
Flasher писал(а):Для всего остального достаточно подфорума или главной страницы
Дело в том, что поиск на этом форуме - не самый удобный. Очень часто того, что нужно, не найти (несмотря на то, что в темах это могло обсуждаться). А если опубликуешь сообщение не в той теме, то на это будет замечание модератора как повтор, нарушение правил на форуме, поднятие старой темы и прочее.
Тем более, что очень часто приходится смотреть, читать и отвечать на нескольких форумах одновременно.
Flasher писал(а):никто не мешает использовать расширения для оптимизации работы с ушками
Это, видимо, Вы имеете в виду вкладки.[/cut]
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

[cut="2Nick"]Не знакомо выражение "Со своим уставом в чужой монастырь не ходят."? Зачем мне показывать правила другого форума, когда здесь есть свои?
Я могу сходу с 10-к привести весьма известных форумов по кодингу и программированию, где слова благодарности всегда будут восприниматься с должным пиететом, особенно когда речь идёт о реализации запросов, а не каких-то своих поделок (там, по всей видимости, их и касается, когда стартовые посты плюсуют не внедрённым, на секундочку, инструментом, которого тут нет, а отписываясь в топике).
Ко всему прочему я писал о результатах тестирования, что не менее важно.
Nick писал(а):Это не экономия на текстовых файлах
Да без разницы каких. Речь о мелочёвке.
Nick писал(а):Очень часто того, что нужно, не найти (несмотря на то, что в темах это могло обсуждаться).
Интересно, почему я всегда нахожу, когда мне требуется? Может, дело не в "найти", а в лени? :wink:
Nick писал(а):Это, видимо, Вы имеете в виду вкладки.
Да, это синоним.

Впрочем, тут обсуждать больше нечего, да и вообще поднимать забытое не было особого смысла. Достаточно принять к сведению данное положение дел и исходить из того, что уже объяснено и по всей логике должно быть усвоено. Иначе продуктивного диалога просто не получится.
Если возникнет желание продолжить данное обсуждение, то прошу уже делать это в приватном порядке.[/cut]
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
rediffusion
Сообщения: 34
Зарегистрирован: Пн фев 25, 2019 20:24

Сообщение rediffusion »

1. Вообще у TCHelper.dll есть своя тема. Для каких целей он понадобился?
Отвечу тут:

Дело в том что я сделал так как указано в "памятке". Но вылетает окно с ошибкой!
Ошибка выполнения Microsoft VBScript
И поэтому полез перечитывать статью на tckb.

В идеале хотелось бы сделать такие кнопки:
5. <параметры упаковки>

А как в параметрах правильно указывать путь и параметр упаковки?

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

"C:\Pack" 1 exe "" %WL "%P" RAR

или наоборот

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

%WL "%P" RAR "C:\Pack" 1 exe "" %WL "%P"
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

rediffusion писал(а):Дело в том что я сделал так как указано в "памятке".
Нет. Не сделали. Или проигнорировали то, что там написано.
rediffusion писал(а):И поэтому полез перечитывать статью на tckb.
Не вижу никакой логической связи с перечитыванием того, куда не было адресации.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

rediffusion
Всего один пример того, чего вы НЕ сделали — отсутствие полного сообщения об ошибке (см. п. 2 в конце памятки). У заголовка этого окна в отсутствие его содержания информативность нулевая.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
rediffusion
Сообщения: 34
Зарегистрирован: Пн фев 25, 2019 20:24

Сообщение rediffusion »

Если скрипт не работает!

1. ¦
Опциональная упаковка выбранных файлов или файлов в структуре выбранных каталогов.
2. ¦
Код ошибки:
[cut][/img]Изображение[/cut]
3. ¦

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

[em_vim_0003]
Cmd=%COMMANDER_PATH%\Scripts\New\TCWSHelper\wscript.exe "%COMMANDER_PATH%\Scripts\New\7-Zip_Archives.vbs"
Param=%WL "" rar "" -m5 -s -rr5p -pPASSWORD -ag_DD.MM.YY 
Path=%COMMANDER_PATH%\Scripts\New\
Button=C:\Windows\System32\WScript.exe
Menu=Упаковка в отдельный архив
Iconic=0
Сначала "ОШИБКА" вылетает первой а потом происходит упаковка.

4. ¦
Total Commander 9.21a 64bit 32bit VIM 35 Matros portable
5. ¦
ОС:
[cut]Изображение[/cut]
6. ¦
Версия интерпретатора - 5.812.10240.16384
Плагин "FileInfo" при нажатии на CTRL+Q показывает только 4 иконки. Версию посмотрел такой кнопкой в "TC":

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

Cmd=%COMMANDER_PATH%\TCIMG.exe
Param=versn=%P%N
[cut]Изображение[/cut]

P.S.
Пробовал и это и ничего, тишина:

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

TCWSHelp.exe /REGSERVER
[cut]Изображение[/cut]

На файле CTRL+ENTER и ввод тоже тишина.
Куда копать не знаю!?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

rediffusion
Вот странный вы человек. Я ссылку на пост вам привёл, где сказано про пункт 8 памятки. Где в шапке скрипта вы видите условие с необходимостью использовать какой-то компоненент (библиотеку)? Там вообще нет условий. Так на кой ляд сюда было приплетать регистрацию устаревшего TCWSHelp.exe, о котором даже речь не велась, и указывать путь к wscript.exe до пути к скрипту?

1. В памятке написано:
Укажите ссылку на нужный пост, если скриптов в топике приведено более одного.
Вы это сделали? Нет. Не заставляйте других лазить по топику и TCKB в поисках соответствия названию. Вашу проблему нужно решать прежде всего вам. Ссылка на пост отмечена словом "Отдельно" в левом верхнем углу.
2. В памятке написано:
Приведите код ошибки, скопированный из вылетевшего окошка по Ctrl+C. Желательно оставить только необходимое (текст сообщения и строку ошибки).
Вы опять проигнорировали и привели скриншот.

И не надо так растягивать отчёт об ошибке с ненужным обрамлением в BBCode, избыточной информацией, скриншотами, спойлерами и т .д. Пишите простой текст только с запрашиваемой информацией в 5-6 строк, этого будет более чем достаточно, и в этом будет куда проще ориентироваться.

Теперь по скрипту. В 95 строке был случайным образом пропущен знак равенства перед концевой единицей. Я у себя это правил с кое-чем ещё, теперь исправлено и в посте.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
rediffusion
Сообщения: 34
Зарегистрирован: Пн фев 25, 2019 20:24

Сообщение rediffusion »

Flasher

Ого! Круто! Вы настоящий волшебник из страны ОЗ. :lol:

Всё работает но тем не менее есть вопросы.
1. Появляется окно после выполнения и там какая то "аБрАкАдАбРа".
P P(jPeCfCbCfPePIPSP°CU PiPsC„P°P№P»PsPIP°CU CfPiP°PePsPIPeP°
PJPiP'PcPsPIPcP- РР-Р1РмСЬС€РмР5Р-!
[cut="Скриншот на всякий случий"]Изображение[/cut]
У меня вот такую кодировку .vbs файла показывает в AkelPad:

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

Win  65001 (UTF-8) без BOM
2. Этот параметр не работает. Я так понял это для создания "самораспаковывающегося архива".

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

"C:\My Files\List.txt" 1 exe "" -sfx7z.sfx
Строка: 67
Символ: 1
Ошибка: Файл не найден
Код: 800А0035
Источник: Ошибка выполнения Microsoft VBScript
3.
Вот тут ошибка видать, работает не корректно! Создаёт архив с одним и тем же названием "001_005_Music"
. Откуда берёт не знаю?

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

%WL . 7z "" -mx9 -m0=LZMA2:fb273 -m1=LZMA2:lc4
Если записать такой вариант то работает:

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

%WL "" 7z "" -mx9 -m0=LZMA2:fb273 -m1=LZMA2:lc4
4. При выполнении данного параметра тоже появляется окно с "аБрАкАдАбРа".

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

%WL "%T." 7Z *.mht;*.htm;*.html -mx9 -m0=LZMA2 -ssw -pПАРОЛЬ
5. В этих двух параметрах как понять какой пароль используется? Ну упаковал а распаковать не могу, не знаю какой пароль?

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

-pSECRET -pПАРОЛЬ
UPD
Да знаю опять получилась простыня... :oops: :oops: :oops: Не бейте палками. Если что могу все 5 вопросов запрятать под спойлер. :wink:
Последний раз редактировалось rediffusion Вт мар 12, 2019 19:09, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

rediffusion
1,4. Возможны только такие варианты кодировки: ANSI, UTF-16 LE/BE. Последние полезны при иноязычной локали или наличии юникода в коде.
2. Разве первый параметр не даёт ответ на проблему? Это пример существующего пути со списком List.txt в кодировке UTF-16.
3. Какая же это ошибка? Читать шапку нужно внимательно:

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

'     б) если написать точку, то файлы каждой папки - в одноименный архив;
5. Это же примеры. Ключ со своим паролем должен быть один. Как минимум для понимания нужно изучить упаковочные команды 7z.exe и rar.exe.

UPD Учитесь на моих примерах.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
rediffusion
Сообщения: 34
Зарегистрирован: Пн фев 25, 2019 20:24

Сообщение rediffusion »

Flasher
б) если написать точку, то файлы каждой папки - в одноименный архив;
Нет пожалуй в этот раз я прав!
Запись если такая то работает отлично:

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

%WL "C:\My Files\." 7z "" -mx9 -m0=LZMA2:fb273 -m1=LZMA2:lc4
Там после просто точка и она не обрамлена кавычками. И если выделить папки то не работает. А если файлы то работает, создаётся архив с одним и тем же именем "001_007_Music17.7z" откуда берётся такое название я не знаю!?
Нужна такая запись и тогда выделенные каталоги архивирует спокойно.

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

"C:\My Files\."
Вылетает окно с "Введите базовое имя архива:". Работает!

Спасибо за помощь! Но думаю лучше я отвечу вам так как новичок может не понять (форум должен быть полезным).
Ответить