MultiArc
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 20, 21, 22 ... 30, 31, 32  Next  :| |:
Total Commander -> Плагины Total Commander

#301:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Dec 21, 2015 21:29
    —
nick58
Замечание за оверквотинг. Совершенно ненужное полное цитирование предыдущего сообщения удалено.

#302:  Author: LonerDLocation: Донецк PostPosted: Wed Feb 03, 2016 18:56
    —
Подниму снова вопрос о NanoZip.
Вот запаковал простейшей командой один текстовый файл в последней версии архиватора:
nz.exe a readme.nz readme.txt
http://rghost.net/7Xg4VJJ5g
С помощью предложенных на англофоруме комбинаций MultiArc последней выложенной версии (от MVV) входит в архив, но ничего внутри не видит. Равно как и не может создать архив.
Как подружить архиватор с MultiArc? Smile

#303:  Author: MVVLocation: Ростов-Дон PostPosted: Wed Feb 03, 2016 20:40
    —
Подружить так же, как и любой другой архиватор: анализируй консольный вывод и пиши под него форматную строку. Но обрати внимание на моё замечание (его аналог на официальном форуме) о проблематичности написания универсальной форматной строки.

Вообще, формат архива у NanoZip - не айс. Хотя бы из-за имён файлов в ANSI в 21 веке.

#304:  Author: Skif_off PostPosted: Sun May 29, 2016 17:26
    —
MVV
Вроде было уже что-то такое с удалением файлов в каталоге назначения: отсюда слил PilotEdit Lite, двойным кликом вхожу в zip-архив, потом с Ctrl+PdDn в exe'шник и из папки C:\Temp\_tc\Setup.exe\{app}\Styles\ пытаюсь скопировать файлы Vista.cjstyles и WinXP.Luna.cjstyles в каталог, где они уже есть, соглашаюсь на замену файлов - а они удаляются. После этого скопировать эти два файла уже в пустой каталог можно только выйдя из exe'шника и войдя в него снова.
Другие файлы аналогично с заменой копируются без проблем, как и каталог C:\Temp\_tc\Setup.exe\{app} целиком. Что в этих двух не так? Общего только длинное расширение и каталог Styles, точка в имени только у второго.

Пути без пробелов, [A-Za-z_]+.

#305:  Author: MVVLocation: Ростов-Дон PostPosted: Sun May 29, 2016 21:41
    —
У меня копируются нормально. Может, антивирус вредничает?

#306:  Author: FlasherLocation: Москва PostPosted: Sun May 29, 2016 21:46
    —
Skif_off wrote:
Пути без пробелов, [A-Za-z_]+.
Вообще-то \w+.

#307:  Author: Skif_off PostPosted: Sun May 29, 2016 22:41
    —
MVV
Антивирусника нет, есть проактивка Comodo, но правила лояльны и для ТС, и для папки с редакторами, удаления или перемещения в настройках и правилах точно нет.
Наверное, сравню с запуском в консоли и в чистом ТС.
Да, так получается в ТС обеих разрядностей.

 2Flasher

#308:  Author: FlasherLocation: Москва PostPosted: Sun May 29, 2016 22:44
    —
Skif_off, тогда [A-z_]+.

#309:  Author: MVVLocation: Ростов-Дон PostPosted: Sun May 29, 2016 22:51
    —
Skif_off wrote:
Антивирусника нет, есть проактивка Comodo, но правила лояльны и для ТС, и для папки с редакторами, удаления или перемещения в настройках и правилах точно нет.

Попробуй временно отключить проактивку и песочницу в Comodo.

#310:  Author: Skif_off PostPosted: Mon May 30, 2016 03:39
    —
MVV
Песочницу не использую, проактивку отключал, пробовал чистый ТС (с UseIniInProgramDir=7 в wincmd.ini) +MultiArc - воспроизводится. Конфиг:
 Hidden text

В консоли нормально извлекаются после подтверждения перезаписи.

#311:  Author: MVVLocation: Ростов-Дон PostPosted: Mon May 30, 2016 11:40
    —
Взял чистый тотал, последний MultiArc, последний InnoUnp, распаковал файлы Vista.cjstyles и WinXP.Luna.cjstyles в новую папку, потом попытался снова извлечь их в эту же папку с перезаписью - работает; перезапустил тотал и повторил - работает. Может, зависит от пути, в который извлекаешь?

Попробуй в Process Monitor активность посмотреть, а ещё проверить, открыты ли и кем эти файлы в папке назначения и во временной папке (во временной они, впрочем, не должны существовать после успешной операции).

Хм, у меня кое-как после танцев с бубном удаётся воспроизвести. Но вообще перестают копироваться файлы, даже необязательно после копирования с перезаписью. Как поймать, пока не понял...

Что интересно, по F3 тотал при этом показывает файл, и после просмотра файла по F3 они нормально извлекаются...
И что ещё странно: код возврата архиватора, когда файлы не были извлечены, всё равно нулевой!

Вообще, всё-таки скорее всего дело в доступе к файлу. С точками останова после вызова архиватора всё работает, но если после первого вызова не делать паузу (первый вызов - это чтение содержимого архива), то баг проявляется.

#312:  Author: Skif_off PostPosted: Mon May 30, 2016 12:12
    —
MVV
А как удалось воспроизвести? У меня путь для распаковки тоже без чего-либо эдакого: D:\Utilities\editor\_edit\PilotEdit\Styles.

#313:  Author: MVVLocation: Ростов-Дон PostPosted: Mon May 30, 2016 12:14
    —
Я сам не понимаю, как это воспроизвести, оно то воспроизводится, то нет, независимо от наличия точек останова, просмотра файла по F3 и т.д. Но код возврата архиватора неизменно равен 0.

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

Вообще, кажется, есть объяснение: файлы извлекаются во временную папку, потом перемещаются в папку назначения, а потом временная папка удаляется, при этом используется функция оболочки SHFileOperation. Технически, если оболочка попытается удалить файлы до окончания переноса, мы и получим нашу ситуацию. Надо смотреть, можно ли как-то контролировать процесс...

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

Да, функция перемещения возвращает ошибку, когда баг проявляется!
Код ошибки 183 или 0xB7, и, согласно описанию функции,
Quote:
DE_ERROR_MAX 0xB7 MAX_PATH was exceeded during the operation.

Хотя, тут описан другой баг этой функции с таким же внутренним поведением.
В общем, надо избавляться от этой тупой проводниковой функции и переносить структуру папок вручную.

#314:  Author: Skif_off PostPosted: Mon May 30, 2016 14:17
    —
MVV wrote:
Технически, если оболочка попытается удалить файлы до окончания переноса, мы и получим нашу ситуацию.

Не совсем уловил Smile Правильно ли понимаю, что файл в каталоге назначения удаляется, а потом туда копируется новый? Тогда получается, что тут файл только удаляется и всё?

Дёрнуло что-то меня убрать ConPaste.exe:
Code:
List="%PQA -v -m %AQA"
Extract="%PQA -e -m %AQA {@%LQA}"
ExtractWithPath="%PQA -x -m %AQA {@%LQA}"

так не воспроизводится.

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

P.S. ConPaste.exe: 2016.04.03, SHA1=48079878f45bbfb800be85bb13e2cdb3394e838c

#315:  Author: MVVLocation: Ростов-Дон PostPosted: Mon May 30, 2016 14:39
    —
Если файлы в папке назначения существуют, то они удаляются до начала копирования туда новых.

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

Это происходит уже в коде MultiArc, когда ConPaste и архиватор уже успешно отработали, и когда файлы уже извлечены во временную папку.

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

Похоже, баг проявляется только для подпапок в архиве, и только если имя папки назначения совпадает с именем подпапки, из которой извлекаются файлы. И дескриптор этой папки открыт, когда копирование проваливается (попробовал закрыть его принудительно - возникла ошибка обращения к закрытому дескриптору, но функция копирования потом отработала нормально). Перезапускаю тотал, пытаюсь извлечь в папку с таким же именем - ошибка, переименовываю папку или захожу в другую - всё ок. Воспроизводимость 100%.

Рецепт остаётся прежним - избавиться от SHFileOperation.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 20, 21, 22 ... 30, 31, 32  Next  :| |:
Page 21 of 32

Powered by phpBB © 2001, 2005 phpBB Group