Страница 27 из 32
Добавлено: Вт июн 06, 2017 22:03
MVV
Помимо cygwin есть и другие врапперы...
Добавлено: Пт июн 09, 2017 22:04
Baltazar
MVV писал(а):Хотя бы консольный tar-архиватор подбери, аддон состряпать поможем.
Хм, мне казалось что tar под win нормально работает с gz, но проверив, получил разномастный ворох ошибок при различных конфигурациях при попытке получить список файлов. Рабочей оказалась связка zcat и tar из комплекта UnxUtils (понимает нормальные виндовые пути до файлов и не имеет зависимостей).
zcat и tar + тестовый архив -
https://www.upload.ee/files/7102115/tar_zcat.zip.html
Распаковка тоже работает, только ключ "t" на "x" надо сменить

Причём симлинки распаковались как полноценные файлы. Ключ "v" не обязателен (использовал для визуализации распаковки).
upd: С кириллицей полный швах

Как в utf-8, так и в cp1251
Добавлено: Пт июн 09, 2017 22:32
MVV
Хрень какая-то, а не вывод... С таким аддона не получится.
Код: Выделить всё
-rwsr-sr-x root/root 683040 2017-03-31 21:16 [
-rwsr-sr-x root/root 0 2017-03-31 21:16 [[ link to [
-rwsr-sr-x root/root 0 2017-03-31 21:16 adjtimex link to [
-rwsr-sr-x root/root 0 2017-03-31 21:16 ar link to [
-rwsr-sr-x root/root 0 2017-03-31 21:16 arp link to [
Здесь невозможно отделить имена ссылок... Где гарантия, что имя файла "[[", а не "[[ link to ["?
А против кодировки 1251 в мультиарке есть ключики...
Добавлено: Сб июн 10, 2017 10:51
Baltazar
MVV, Дык я же писал - можно полностью и не обрабатывать симлинки. Пока не найдётся альтернатива, достаточно обозначить их как файлы нулевого размера, как это делает 7-zip.
Ключевые моменты - работа в один заход, поддержка кириллицы и отображение симлинков (распаковка последних не критична).
Добавлено: Сб июн 10, 2017 13:25
MVV
Уже говорилось, что тотал не позволяет показывать симлинки в архивах как ссылки (нет такого атрибута). Т.е. они будут показываться как-либо (нулевой размер - на мой взгляд не самый удачный способ), но не как ссылки.
Далее, чтобы это всё работало через мультиарк, нужна консольная утилита, которая будет отображать содержимое архива так, как нужно, чтобы можно было прочитать вывод. Упомянутая выше не подходит, т.к. непонятно, как определить конец имени файла.
А для тестирования отображения кириллицы в тестовый архив нужно добавить файлы с русскими именами.
Добавлено: Вс июн 11, 2017 08:47
Baltazar
Упомянутая выше не подходит, т.к. непонятно, как определить конец имени файла.
Та каша выдаётся при листинге симлинков (там в конце должно быть не "[" а "busybox"), обычные файлы в выхлопе отображаются нормально.
Код: Выделить всё
zcat.exe gzip.tar.gz|tar -tvf -
-rwsrwsrwx 0/0 000000 0000-00-00 00:00 tar.exe
-rwsrwsrwx 0/0 00000 0000-00-00 00:00 zcat.exe
В ранее выложенном архиве "нормальный" файл только один, тот самый busybox, остальное - симлинки. Определять, на что они ссылаются смысла нет, достаточно показать, что они есть (файлы нулевого размера). То что будет от даты файла + " " и до " link to [" и будет именами файлов
При желании архив tar.gz можно создать под win - сначала заархивировать в tar через 7zip, а потом им же этот архив в gz.
Вот два архива с файлами с кириллицей, созданных под win и nix в utf8 и cp1251 -> utf8 (не знаю насколько нужно последнее, но решил заодно закинуть).
https://www.upload.ee/files/7107170/rus ... ar.gz.html
https://www.upload.ee/files/7107172/rus ... ar.gz.html
Добавлено: Вс июн 11, 2017 23:08
MVV
То что будет от даты файла + " " и до " link to [" и будет именами файлов
Повторю, это ненадёжный способ определения конца имени файла, т.к. файл может иметь такое окончание. Кроме того, мультиарк не позволяет определять конец файла по тексту, можно задать либо фиксированную длину, либо
++ в случае имени файла до конца строки.
Вот два архива с файлами с кириллицей, созданных под win и nix в utf8 и cp1251 -> utf8 (не знаю насколько нужно последнее, но решил заодно закинуть).
Если в предыдущий и виндовый ещё получается зайти простым аддоном, то в никсовом сплошной бред - там все имена имеют префикс
./... Ещё и 1251 какая-то неправильная (в листере видно).
Но похоже, что утилита всегда выводит в UTF-8, поэтому не видно русского даже в виндовом. Это хорошо видно, если направить вывод в файл.
Пример аддона:
Код: Выделить всё
[targz]
Description="tar+gz"
ID=1F 8B 08
IDPos=0
Extension=.gz
Archiver="tar.exe"
List="X:\Path\tar_gz_list.bat %AQA %O"
Format0=" +z+ yyyy-tt-dd hh:mm +n++"
UnixPath=1
Содержимое батника
tar_gz_list.bat:
Код: Выделить всё
@"%~dp0\zcat.exe" %1 | "%~dp0\tar.exe" -tvf -
Ассоциировать надо с расширением
gz.
Но, конечно, большие архивы открываются реально долго (даже на
busybox.tar.gz заметно)... из-за того, что весь
gz надо снимать, чтобы прочитать
tar. Странная у линуксоидов мания к таким неудобным оберткам...
Добавлено: Чт авг 17, 2017 19:20
Lisabon
MVV
В WinRAR v5.50 появилась поддержка архивов LZ
5. Добавлена поддержка распаковки архивов .LZ, созданных упаковщиком Lzip.
Если не затруднит, то подскажи конфиг для поддержки LZ через WinRAR.
Тестовый фал для проверки:
https://www.upload.ee/files/7357998/tzd ... ar.lz.html
Добавлено: Чт авг 17, 2017 22:15
Mellomann
Lisabon
Как вариант:
Код: Выделить всё
[RAR-5.x]
ID=52 61 72 21
IDPos=<SeekID>
SkipSfxHeader=1
Extension=rar5, lz
Description=RAR 5.x
Archiver=%COMMANDER_PATH%\Plugins\arc\Rar%PROCESSOR_ARCHITECTURE%.exe
BatchUnpack=1
Debug=0
Start="----------- --------- -------- ----- ----"
End="----------- --------- -------- ----- ----"
Format0=" aaaaaaa +z+ dd-tt-yy hh:mm n++"
List=%PQA l -- %AQA
Extract= %PQA e -y -scO {%S} -- %AQA @%LQ
ExtractWithPath=%PQA x -y -scO {%S} -- %AQA @%LQ
Test=%PQA t -y -scO {%S} -- %AQA
Delete=%PQA d -r -y -scO {%S} -- %AQA @%LQ
Add=%PQA a -y -ma -md128m -ed -oi:1048576 -s -t -scO {%S} %AQA @%LQ
Move=%PQA m -y -ma -md128m -ed -oi:1048576 -s -t -scO {%S} %AQA @%LQ
SkipLIST=1
;
И не забыть указать
Код: Выделить всё
lz=196,%COMMANDER_PATH%\Plugins\wcx\MultiArc\Multiarc.wcx64
в wincmd.ini
Но, насколько я знаю, консольный RAR.exe умеет только RAR, а другие форматы умеет WinRAR.exe, который с гуём, который, в свою очередь, к Multiarc не подключить по очевидной причине.
Добавлено: Чт авг 17, 2017 22:44
imig73
К сожалению да, консольный rar.exe ничего не смог сделать с lz.
Добавлено: Вт авг 22, 2017 22:54
addhaloka
imig73 писал(а):К сожалению да, консольный rar.exe ничего не смог сделать с lz.
Он даже с zip не работает, только с rar...
Может, кому пригодится - я себе для lz, а также для LZ4 (хотел ещё lz5, но не нашёл такого архива для настройки/теста) и zst (про плагин для него знаю, но т. к. паковать ничего не собираюсь, то не нужен) приспособил это:
https://github.com/mcmilk/7-Zip-zstd/releases
p.s. Если что, с Total7Zip (и скорей всего, с другими плагинами 7-Zip) - не работает. Кодеки оттуда работают с Total7Zip, но позволяют распаковывать только 7z архивы с извр. методами сжатия, но не сами lz, zst и т. п. + если используется Total7Zip, то tc7z.dll лучше не использовать - она, наоборот будет вредить.
Добавлено: Пт окт 13, 2017 14:05
Lisabon
MVV
Обнаружил проблему с редактированием архивов InstallShield в MultiArc 1.4.2.158.
Захожу через Data1.hdr или Data1.cab для удаления папок. Выделяю несколько папок и жму Delete, но могут не удалится папки, а могут удалится, но не все, а только одна папка. Происходит это весьма рандомно. Взял старую версию MultiArc от
сюда и попробовал снова удалить папки. Папки удаляются.
P.S. Total Commander v9.0a 32-bit, Windows 8.1 64-bit.
Моя конфигурация MultiArc:
https://www.upload.ee/files/7553560/MultiArc.rar.html
Редактируемый архив:
https://www.upload.ee/files/7553561/Cre ... 2.rar.html
Можно ли поправить данную проблему?
Добавлено: Пт окт 13, 2017 14:24
MVV
И до кучи добавь архив с используемым InstallShield и конфигом мультиарка, пожалуйста.

Добавлено: Пт окт 13, 2017 14:33
Lisabon
MVV
Всё уже добавлено.
Добавлено: Пт окт 13, 2017 16:12
MVV
Пардон, не заметил сразу.
Понял, в чём беда, это из-за фикса
safe %F/%L expansion, я упустил вариант, когда команда вызывается отдельно для каждого файла. Спасибо, поправлю.
Добавлено спустя 37 минут:
Попробуй эту версию:
MultiArc 1.4.3.160 Beta
Исправил баг, заодно, глядя на твой конфиг, добавил псевдо-переменную
$MULTIARC для поля Archiver конфига, чтобы можно было указывать путь относительно папки Мультиарка:
Код: Выделить всё
Archiver="%$MULTIARC%\Modules\FreeArc\Arc.exe"