View previous topic :: View next topic |
Author |
Message |
Avada
Joined: 01 Aug 2008 Posts: 10274 Location: Россия, Саратов
|
(Separately) Posted: Mon Dec 21, 2015 21:29 Post subject: |
|
|
nick58
Замечание за оверквотинг. Совершенно ненужное полное цитирование предыдущего сообщения удалено. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1169 Location: Макеевка
|
(Separately) Posted: Wed Feb 03, 2016 18:56 Post subject: |
|
|
Подниму снова вопрос о NanoZip.
Вот запаковал простейшей командой один текстовый файл в последней версии архиватора:
nz.exe a readme.nz readme.txt
http://rghost.net/7Xg4VJJ5g
С помощью предложенных на англофоруме комбинаций MultiArc последней выложенной версии (от MVV) входит в архив, но ничего внутри не видит. Равно как и не может создать архив.
Как подружить архиватор с MultiArc? _________________ Windows 11 | TC DreamLair eternal pre-α |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sun May 29, 2016 17:26 Post subject: |
|
|
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_]+. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun May 29, 2016 21:46 Post subject: |
|
|
Skif_off wrote: | Пути без пробелов, [A-Za-z_]+. | Вообще-то \w+. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sun May 29, 2016 22:41 Post subject: |
|
|
MVV
Антивирусника нет, есть проактивка Comodo, но правила лояльны и для ТС, и для папки с редакторами, удаления или перемещения в настройках и правилах точно нет.
Наверное, сравню с запуском в консоли и в чистом ТС.
Да, так получается в ТС обеих разрядностей.
2Flasher Такой набор исчерпывающий и не нуждается в пояснениях ни для новичка, ни для матёрого.
А ту же небезызвестную либу PCRE можно скомпилить с поддержкой юникода и локалей - тогда по умолчанию в \w+ попадут далеко не только буквы из ASCII. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun May 29, 2016 22:44 Post subject: |
|
|
Skif_off, тогда [A-z_]+. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon May 30, 2016 11:40 Post subject: |
|
|
Взял чистый тотал, последний MultiArc, последний InnoUnp, распаковал файлы Vista.cjstyles и WinXP.Luna.cjstyles в новую папку, потом попытался снова извлечь их в эту же папку с перезаписью - работает; перезапустил тотал и повторил - работает. Может, зависит от пути, в который извлекаешь?
Попробуй в Process Monitor активность посмотреть, а ещё проверить, открыты ли и кем эти файлы в папке назначения и во временной папке (во временной они, впрочем, не должны существовать после успешной операции).
Хм, у меня кое-как после танцев с бубном удаётся воспроизвести. Но вообще перестают копироваться файлы, даже необязательно после копирования с перезаписью. Как поймать, пока не понял...
Что интересно, по F3 тотал при этом показывает файл, и после просмотра файла по F3 они нормально извлекаются...
И что ещё странно: код возврата архиватора, когда файлы не были извлечены, всё равно нулевой!
Вообще, всё-таки скорее всего дело в доступе к файлу. С точками останова после вызова архиватора всё работает, но если после первого вызова не делать паузу (первый вызов - это чтение содержимого архива), то баг проявляется. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Mon May 30, 2016 12:12 Post subject: |
|
|
MVV
А как удалось воспроизвести? У меня путь для распаковки тоже без чего-либо эдакого: D:\Utilities\editor\_edit\PilotEdit\Styles. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon May 30, 2016 12:14 Post subject: |
|
|
Я сам не понимаю, как это воспроизвести, оно то воспроизводится, то нет, независимо от наличия точек останова, просмотра файла по F3 и т.д. Но код возврата архиватора неизменно равен 0.
Добавлено спустя 8 минут:
Вообще, кажется, есть объяснение: файлы извлекаются во временную папку, потом перемещаются в папку назначения, а потом временная папка удаляется, при этом используется функция оболочки SHFileOperation. Технически, если оболочка попытается удалить файлы до окончания переноса, мы и получим нашу ситуацию. Надо смотреть, можно ли как-то контролировать процесс...
Добавлено спустя 22 минуты:
Да, функция перемещения возвращает ошибку, когда баг проявляется!
Код ошибки 183 или 0xB7, и, согласно описанию функции,
Quote: | DE_ERROR_MAX 0xB7 MAX_PATH was exceeded during the operation. |
Хотя, тут описан другой баг этой функции с таким же внутренним поведением.
В общем, надо избавляться от этой тупой проводниковой функции и переносить структуру папок вручную. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Mon May 30, 2016 14:17 Post subject: |
|
|
MVV wrote: | Технически, если оболочка попытается удалить файлы до окончания переноса, мы и получим нашу ситуацию. |
Не совсем уловил Правильно ли понимаю, что файл в каталоге назначения удаляется, а потом туда копируется новый? Тогда получается, что тут файл только удаляется и всё?
Дёрнуло что-то меня убрать 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 |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon May 30, 2016 14:39 Post subject: |
|
|
Если файлы в папке назначения существуют, то они удаляются до начала копирования туда новых.
Копирование новых выполняется переносом извлечённых архиватором файлов из временной папки посредством вызова функции SHFileOperation. По непонятным причинам (погодные явления, фаза луны, чётность номера дня со времён большого взрыва) функция SHFileOperation время от времени не отрабатывает правильно и возвращает ошибку.
Это происходит уже в коде MultiArc, когда ConPaste и архиватор уже успешно отработали, и когда файлы уже извлечены во временную папку.
Добавлено спустя 39 минут:
Похоже, баг проявляется только для подпапок в архиве, и только если имя папки назначения совпадает с именем подпапки, из которой извлекаются файлы. И дескриптор этой папки открыт, когда копирование проваливается (попробовал закрыть его принудительно - возникла ошибка обращения к закрытому дескриптору, но функция копирования потом отработала нормально). Перезапускаю тотал, пытаюсь извлечь в папку с таким же именем - ошибка, переименовываю папку или захожу в другую - всё ок. Воспроизводимость 100%.
Рецепт остаётся прежним - избавиться от SHFileOperation. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
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
|