Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

MultiArc
Goto page Previous  1, 2, 3 ... 12, 13, 14 ... 30, 31, 32  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Mon Jun 24, 2013 23:30    Post subject: Reply with quote

MVV wrote:
количество 100-наносекундных интервалов дробной части секунды, делённое на 10000
Не совсем понял. Подразумевается интервал не 0...59 а 0...999 с ходом в 1000/60?
MVV wrote:
unrar.exe ж можно подправить и перекомпилить
Задолбаешься под каждую новую обновляться.
MVV wrote:
Вот, ключ ls выдает листинг с секундами.
Пасиб, затестим.

Добавлено спустя 43 минуты:

Тестовый архив - http://rghost.ru/46994511

Имею сейчас такой конфиг
Code:
[RAR5]
ID=52 61 72 21
IDPos=<SeekID>
SkipSfxHeader=1
Extension=wr5, rar5
Description=RAR 5.x
;Archiver=RAR5\rar.exe
Archiver=RAR5\rar64.exe
BatchUnpack=1
Debug=0
Start="----------- ---------  -------- -----  ----"
End="----------- ---------  -------- -----  ----"
Format0="    aaaaaaa +z+ dd-tt-yy hh:mm +n++"
List=%P l -- %AQA
Extract= %P e -y -scO {%S} -- %AQA @%LQ
ExtractWithPath=%P x -y -scO {%S} -- %AQA @%LQ
Test=%P t -y -scO {%S} -- %AQA
Delete=%P d -r -y -scO {%S} -- %AQA @%LQ
Add=%P a -y -ma -md128m -ed -oi:1048576 -s -t -scO {%S} %AQA @%LQ
Move=%P m -y -ma -md128m -ed -oi:1048576 -s -t -scO {%S} %AQA @%LQ
SkipLIST=1


Выводит rar.exe:
Code:
Архив: e:\RAR5TEST\1.wr5
Детали: RAR 5

   Атрибуты    Размер      Дата Время  Имя
----------- ---------  -------- -----  ----
    .CA.... 17179869696  24-06-13 20:42  16384.vhd.fat
    .CA.... 34359738880  24-06-13 20:49  32768.vhd.fat
----------- ---------  -------- -----  ----
          51539608576                  2


Вижу такое:


С аналогичным rar4 архивом, открытым через 7z (у меня повешено на расширение 7zm) - такая же ерунда.
Конфиг 7z:
Code:
[7zip_x32_C]
Description=7-Zip_x32_CP
Archiver=%COMMANDER_PATH%\Plugins\wcx\Total7zip\7z-x32\7z.exe
Extension=7zm, lzma, xz
;ID=37 7A BC AF
IDPos=0x0, <seekid>
BatchUnpack=1
Start="^-------------------"
End="^-------------------"
Format0="yyyy-tt-dd hh:mm:ss aaaaa +z+ +p+ +n++"
List="ConPaste.exe /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA l {%S} %AQA"
Extract="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA e -y {%S} -scsWIN -- %AQA @%LQA"
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA x -y {%S} -scsWIN -- %AQA @%LQA"
Test="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA t -y {%S} %AQA"
Delete="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к архиву:\" \"Enter password\" %PQA d -w%LQPA -y -r {%S} -scsWIN -- %AQA @%LQA"
Add=%P a -y {%S} %AQA -scsdos @%LQ
Move=%P u -y {%S} %AQA -scsdos @%LQ
SkipLIST=1
AskMode=2
AskHistory0=-mx=0
AskHistory1=-mx=9
AskHistory2=-mx=9 -mf=delta
AskHistory3=-mx=9 -mf=delta:4
AskHistory4=-m0=delta:2 -m1=delta:2 -m2=lzma:fb273

Чистый 7z через плагин Total7zip (расш. 7zt) - всё отлично.

Добавлено спустя 8 минут:

Предыдущая 1.4.1.7 (она же х64) выводит 512 байт вместо 2 гигов:
1.4.1.7 x32 wrote:
16384.vhd.fat 512 ? -a--
32768.vhd.fat 512 ? -a--
1.4.1.7 x64 wrote:
16384.vhd.fat 512 ? -a--
32768.vhd.fat 512 ? -a--
1.4.1.7 x32 MVV1 wrote:
16384.vhd.fat 2 147 483 647 ? -a--
32768.vhd.fat 2 147 483 647 ? -a--
1.4.1.7 x64 MVV1 wrote:
16384.vhd.fat 2 147 483 647 ? -a--
32768.vhd.fat 2 147 483 647 ? -a--
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Jun 25, 2013 09:28    Post subject: Reply with quote

Quote:
Не совсем понял. Подразумевается интервал не 0...59 а 0...999 с ходом в 1000/60?

Я не понял сам, что там получается. По логике, число 100-наносекундных интервалов, деленное на 10000, должно совпадать с точностью до округления с числом миллисекунд, т.е. 1000 должно совпадать с 60 секундами, но там совершенно иные числа. Для твоего архива там числа 470 и 271 при количестве секунд 44 и 25 соответственно. Если бы это были миллисекунды, числа должны были бы быть 733 и 417...

Quote:
Задолбаешься под каждую новую обновляться.

К слову, это необязательно. Эта бета вроде справляется с отображением содержимого, можно оставить этот экзешник для чтения содержимого архивов (переименовать и вызывать чисто из команды List), а обновленную использовать для распаковки. И то только в случае, если эта будет плохо справляться с распаковкой.

Quote:
Тестовый архив - http://rghost.ru/46994511

Не ожидал, что при сжатии файлов, забитых нулями, получатся такие архивы, которые потом еще и пережать можно. Very Happy

Думаю, проблема в том, что размер файлов больше 4 ГБ, поэтому в 32-битную переменную такие числа уже не умещаются, вот и происходит потеря разрядов. Что примечательно, похоже, в 2010 студии функция преобразования при переполнении возвращает максимально возможное число вместо младшей части числа, как было в старой версии.

Добавлено спустя 58 минут:

Вот обновленная версия мультиарка с поддержкой 64-битных размеров:

MVV Build #2
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Tue Jun 25, 2013 18:41    Post subject: Reply with quote

MVV wrote:
архивы, которые потом еще и пережать можно
Это всё только от проблемы "слишком" маленького словаря и большого файла. Тогда просто получаются дубли данных, которые повторно можно сократить.
Пруф: http://rghost.ru/47010591

MVV wrote:
обновленная версия
Скормил тоталу, пока полёт нормальный.

Добавлено спустя 4 минуты:

Вот бы архиваторописатели добавили многопроходное и многоразовое сжатие (как раз для таких случаев). По аналогии с видеокодеками. Idea
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Jun 25, 2013 22:02    Post subject: Reply with quote

Думаю, в большинстве случаев толку от многопроходности не будет, ведь мало кто сжимает файлы, забитые нулями. Very Happy
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Thu Jun 27, 2013 21:19    Post subject: Reply with quote

Так вроде бы нормально работает, багов не добавилось.
Можно выкладывать на сайте.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Jun 28, 2013 13:20    Post subject: Reply with quote

Я эту версию никуда выкладывать не планирую. Не могу поручиться за отсутствие багов в тех исходниках, с которых я её собирал (тем более, я лично их там находил), и не имею желания заниматься их исправлением.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Fri Jun 28, 2013 19:29    Post subject: Reply with quote

Так увлёкся проверкой размеров, что только сейчас заметил...
Даты-времени нет...





Конфиг:
Code:
[RAR5]
ID=52 61 72 21
IDPos=<SeekID>
SkipSfxHeader=1
Extension=wr5, rar5
Description=RAR 5.x
;Archiver=RAR5\rar.exe
Archiver=RAR5\rar64.exe
BatchUnpack=1
Debug=0
Start="----------- ---------  -------- -----  ----"
End="----------- ---------  -------- -----  ----"
Format0="    aaaaaaa +z+ dd-tt-yy hh:mm +n++"
List=%P l -- %AQA
Extract= %P e -y -scO {%S} -- %AQA @%LQ
ExtractWithPath=%P x -y -scO {%S} -- %AQA @%LQ
Test=%P t -y -scO {%S} -- %AQA
Delete=%P d -r -y -scO {%S} -- %AQA @%LQ
Add=%P a -y -ma -md128m -ed -oi:1048576 -s -t -scO {%S} %AQA @%LQ
Move=%P m -y -ma -md128m -ed -oi:1048576 -s -t -scO {%S} %AQA @%LQ
SkipLIST=1


Что неправильно?

Добавлено спустя 8 минут:

Странно, но время работает только если два пробела поставить перед "dd-tt-yy" и вместо плюс+пробел перед n++ влепить тоже два пробела:
Code:
Format0="    aaaaaaa +z+  dd-tt-yy hh:mm  n++"
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Fri Jun 28, 2013 21:46    Post subject: Reply with quote

Quote:
Странно, но время работает только если два пробела поставить перед "dd-tt-yy" и вместо плюс+пробел перед n++ влепить тоже два пробела:

Когда число пробелов фиксировано, ты можешь сам их поставить нужное количество. Или поставить один пробел и плюс после него, чтобы пропускать идущие подряд пробелы:
Quote:
Format0=" aaaaaaa +z+  dd-tt-yy hh:mm  n++"

Quote:
Format0=" aaaaaaa +z+ +dd-tt-yy hh:mm +n++"

Плюс после идентификатора поля говорит, что длина поля переменная, к длине пробела после он не относится. А плюс после пробела - что длина пробела переменная.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Wed Jul 03, 2013 20:43    Post subject: Reply with quote

MVV wrote:
Плюс после идентификатора поля говорит, что длина поля переменная, к длине пробела после он не относится

т.е. плюсы можно ставить только после букв, а после пробела - нет?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Wed Jul 03, 2013 22:05    Post subject: Reply with quote

MVV wrote:
Или поставить один пробел и плюс после него, чтобы пропускать идущие подряд пробелы


MVV wrote:
Плюс после идентификатора поля говорит, что длина поля переменная, к длине пробела после он не относится. А плюс после пробела - что длина пробела переменная.


Читаем внимательно. Very Happy Всё ведь очень просто: после чего плюс стоит, то он и удлинняет, как в регулярных выражениях.

А в цитатах я специально выделил последовательности символов, описывающие целые поля (разными цветами) и целые пробелы (подчеркиваниями), включая плюсы, относящиеся к тем или иным.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 147

Post (Separately) Posted: Sun Aug 04, 2013 18:43    Post subject: Reply with quote

MVV

Есть проблема с MVV Build #2.

Имеем Total Commander v8.01 32-битный, плагин MultiArc (MVV Build #2), дистрибутив с cab-архивами (_http://rghost.ru/47889005), файл настроек (_http://rghost.ru/47889045).

При входе в CAB-архив Data1.cab, Data2.cab или файл Data1.hdr, получаю ошибку:



Можно ли сие поправить?

Возвращаю не модифицированный вами плагин, тобишь оригинал, и в эти файлы вхожу и модифицирую без проблем.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sun Aug 04, 2013 19:03    Post subject: Reply with quote

Было бы вообще замечательно, если бы архиватор Install Shield (из сообщения об ошибке выполнения команды делаю вывод, что используется I6Comp.exe) тоже прилагался.

Впрочем, на какую-то ошибку я наткнулся, скачав первый найденный I6Comp.exe, разберусь. Но твой I6Comp.exe бы на всякий случай пригодился.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 147

Post (Separately) Posted: Sun Aug 04, 2013 19:19    Post subject: Reply with quote

MVV wrote:
Но твой I6Comp.exe бы на всякий случай пригодился.


Вот I6Comp.exe
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sun Aug 04, 2013 19:30    Post subject: Reply with quote

Ага, совпал с тем, что я нашёл. Ошибка возникает при попытке анализа строки:
Code:
tt-dd-yyyy hh:mm zzzzzzzzzz aaaa pppppppppp      nnnnnnnnnnnnnnnnnnnnnnnn
Version 0.2 -] fOSSiL & Morlac - 2000 [-

Эта строка "левая", не содержит нужных данных, поэтому желательно такие строки отсекать. Если I6Comp.exe всегда эту строку пишет первой, нужно её указать в аддоне:
Code:
Start=Version

Тогда при анализе вывода I6Comp.exe эта строка будет пропускаться.

Ошибку анализа я исправлю. А строка, похоже, выводится в stderr (поток вывода ошибок) и может быть в любом месте основного вывода (в консоли выводится первой, в мультиарке при отладке у меня - последней)... Рекомендую забить её в экзешнике нулевыми байтами с помощью хекс-редактора, чтобы она не выводилась, а то вдруг ещё в середине нужной строки влезет, тогда точно чего-нибудь да испортит.

Странно, что с обычным мультиарком ошибки не видно, т.к. происходит банальный выход за конец строки (на паттерне pppppppppp), т.к. строка "левая" и совершенно не подходит под шаблон, а мультиарк передвигается по строке тупо прыжками.

Добавлено спустя 18 минут:

Ага, в исходниках I6Comp.exe косяк:
Code:
   if (optPrintAll)
      fprintf(stderr, "InstallShield 6.x Cabinet Util\n");
      fprintf(stderr, "Version 0.2 -] fOSSiL & Morlac - 2000 [-\n");

По логике, нужно было заключить обе команды вывода в блок { }, тогда они бы обе отключались ключом -o, а так им отключается только первая, а вторая срабатывает всегда. В любом случае, упомянутое выше решение с забиванием нулями поможет.

Добавлено спустя 57 минут:

Выложил обновленную версию, прошу потестировать:

MVV Build #3

В этой версии в случае, если строка вывода заканчивается раньше, чем форматная строка, строка вывода считается "левой", и форматная строка применяется к следующей строке вывода.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Lisabon



Joined: 18 Feb 2011
Posts: 147

Post (Separately) Posted: Sun Aug 04, 2013 21:12    Post subject: Reply with quote

MVV
Quote:
Выложил обновленную версию, прошу потестировать:

MVV Build #3


Если нулями строку "Version 0.2 -] fOSSiL & Morlac - 2000 [-" в I6Comp.exe не забивать, то при входе в архив, сам Total Commander подвисает, а если нулями строку забиваю, то в архив входит без запинки успешно.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 12, 13, 14 ... 30, 31, 32  Next
Page 13 of 32

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group