View previous topic :: View next topic |
Author |
Message |
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Mon Jun 24, 2013 23:30 Post subject: |
|
|
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 |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Jun 25, 2013 09:28 Post subject: |
|
|
Quote: | Не совсем понял. Подразумевается интервал не 0...59 а 0...999 с ходом в 1000/60? |
Я не понял сам, что там получается. По логике, число 100-наносекундных интервалов, деленное на 10000, должно совпадать с точностью до округления с числом миллисекунд, т.е. 1000 должно совпадать с 60 секундами, но там совершенно иные числа. Для твоего архива там числа 470 и 271 при количестве секунд 44 и 25 соответственно. Если бы это были миллисекунды, числа должны были бы быть 733 и 417...
Quote: | Задолбаешься под каждую новую обновляться. |
К слову, это необязательно. Эта бета вроде справляется с отображением содержимого, можно оставить этот экзешник для чтения содержимого архивов (переименовать и вызывать чисто из команды List), а обновленную использовать для распаковки. И то только в случае, если эта будет плохо справляться с распаковкой.
Не ожидал, что при сжатии файлов, забитых нулями, получатся такие архивы, которые потом еще и пережать можно.
Думаю, проблема в том, что размер файлов больше 4 ГБ, поэтому в 32-битную переменную такие числа уже не умещаются, вот и происходит потеря разрядов. Что примечательно, похоже, в 2010 студии функция преобразования при переполнении возвращает максимально возможное число вместо младшей части числа, как было в старой версии.
Добавлено спустя 58 минут:
Вот обновленная версия мультиарка с поддержкой 64-битных размеров:
MVV Build #2 _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Tue Jun 25, 2013 18:41 Post subject: |
|
|
MVV wrote: | архивы, которые потом еще и пережать можно | Это всё только от проблемы "слишком" маленького словаря и большого файла. Тогда просто получаются дубли данных, которые повторно можно сократить.
Пруф: http://rghost.ru/47010591
MVV wrote: | обновленная версия | Скормил тоталу, пока полёт нормальный.
Добавлено спустя 4 минуты:
Вот бы архиваторописатели добавили многопроходное и многоразовое сжатие (как раз для таких случаев). По аналогии с видеокодеками. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Thu Jun 27, 2013 21:19 Post subject: |
|
|
Так вроде бы нормально работает, багов не добавилось.
Можно выкладывать на сайте. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Fri Jun 28, 2013 19:29 Post subject: |
|
|
Так увлёкся проверкой размеров, что только сейчас заметил...
Даты-времени нет...
Конфиг: 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 |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Fri Jun 28, 2013 21:46 Post subject: |
|
|
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 |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Wed Jul 03, 2013 20:43 Post subject: |
|
|
MVV wrote: | Плюс после идентификатора поля говорит, что длина поля переменная, к длине пробела после он не относится |
т.е. плюсы можно ставить только после букв, а после пробела - нет? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Wed Jul 03, 2013 22:05 Post subject: |
|
|
MVV wrote: | Или поставить один пробел и плюс после него, чтобы пропускать идущие подряд пробелы |
MVV wrote: | Плюс после идентификатора поля говорит, что длина поля переменная, к длине пробела после он не относится. А плюс после пробела - что длина пробела переменная. |
Читаем внимательно. Всё ведь очень просто: после чего плюс стоит, то он и удлинняет, как в регулярных выражениях.
А в цитатах я специально выделил последовательности символов, описывающие целые поля (разными цветами) и целые пробелы (подчеркиваниями), включая плюсы, относящиеся к тем или иным. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Lisabon
Joined: 18 Feb 2011 Posts: 147
|
(Separately) Posted: Sun Aug 04, 2013 18:43 Post subject: |
|
|
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 |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sun Aug 04, 2013 19:03 Post subject: |
|
|
Было бы вообще замечательно, если бы архиватор Install Shield (из сообщения об ошибке выполнения команды делаю вывод, что используется I6Comp.exe) тоже прилагался.
Впрочем, на какую-то ошибку я наткнулся, скачав первый найденный I6Comp.exe, разберусь. Но твой I6Comp.exe бы на всякий случай пригодился. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Lisabon
Joined: 18 Feb 2011 Posts: 147
|
(Separately) Posted: Sun Aug 04, 2013 19:19 Post subject: |
|
|
MVV wrote: | Но твой I6Comp.exe бы на всякий случай пригодился. |
Вот I6Comp.exe |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Sun Aug 04, 2013 19:30 Post subject: |
|
|
Ага, совпал с тем, что я нашёл. Ошибка возникает при попытке анализа строки:
Code: | tt-dd-yyyy hh:mm zzzzzzzzzz aaaa pppppppppp nnnnnnnnnnnnnnnnnnnnnnnn
Version 0.2 -] fOSSiL & Morlac - 2000 [- |
Эта строка "левая", не содержит нужных данных, поэтому желательно такие строки отсекать. Если I6Comp.exe всегда эту строку пишет первой, нужно её указать в аддоне:
Тогда при анализе вывода 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 |
|
|
Lisabon
Joined: 18 Feb 2011 Posts: 147
|
(Separately) Posted: Sun Aug 04, 2013 21:12 Post subject: |
|
|
MVV
Quote: | Выложил обновленную версию, прошу потестировать:
MVV Build #3 |
Если нулями строку "Version 0.2 -] fOSSiL & Morlac - 2000 [-" в I6Comp.exe не забивать, то при входе в архив, сам Total Commander подвисает, а если нулями строку забиваю, то в архив входит без запинки успешно. |
|
Back to top |
|
|
|
|
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
|