Написал батник (из папки назначения с рекурсией находит все архивы и распаковывает файлы из нужной папки в архиве. Архивы по 3гб, структура и имена папок в них одинаковая.
FOR /R %%I IN (*.rar) DO (
"%WinRAR%" x %%I -x! "users\folder\name" c:\output )
Все отработало как надо.
Но, после этого, удаление файла из архива через totalcmd стало занимать очень много времени. Он его временно распаковывает (3гб), а раньше удалял на лету.
TC 8.52a 64bit
WinRar 5.21 64bit
W7 64bit
Последний раз редактировалось nooneknows Вт фев 09, 2016 12:33, всего редактировалось 2 раза.
nooneknows
Заголовок не соответствует правилам форума — он слишком общий. (Пока исправил первую букву на заглавную.) У системы, архиватора и TC существуют конкретные версии и битность. Причинно-следственную связь между действием батника и особенностями удаления содержимого архива в TC, честно говоря, пока не уловил (тут лучше пусть выскажутся специалисты).
По переименованию темы и её нахождению в "Общих вопросах" приму решение дальше по ходу обсуждения (если оно будет).
Добавлено спустя 58 минут:
В дополнение к сказанному (сделанные поправки приняты к сведению):
1. При удалении файла из архива вообще-то должна также выполняться перепаковка средствами WinRAR. Происходит это отнюдь не моментально и с созданием временного файла средствами самого WinRAR. TC тут, строго говоря, вообще ни при чём.
2. На основании чего делался вывод о наличии/отсутствии временной распаковки полного архива?
3. Что означает "после этого"? Батник выполнен — удаление вплоть до перезагрузки системы идёт длительное время; затем система перезагружена, батник не выполнен — удаление идёт моментально? Или как?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Avada
Батник выполнился успешно, вызывая WinRar без участия TC. Тестировался на нескольких локальных машинах.
На следующий день заметил, что удаление файлов из больших архивов с помощью TC через WinRar стало занимать очень длительное время. До/после перезагрузки - не имеет значения.
Я думаю, что проблема в том, что сбилась конфигурация WinRar или настройки архиваторов в TC. TС выдавал ошибки и не мог найти архиватор. После чего я перепробовал множество вариантов rar.exe/winrar.exe в каталогах плагинов TC и самой папке с WinRar на локальной машине и на удаленных.
Также не исключена проблема в сетевом взаимодействии (обращение к WinRar локальному и удаленному), так как сетевой диск с архивами находится на удаленной машине. Пробовал создавать подобные большие архивы и запускать TC и WinRar, находящиеся на одном компьютере вместе с архивом - тоже очень медленно.
Еще попробовал создать архив (правда в 2 раза меньше) на компьютере, где не отрабатывался этот скрипт. Удаляет намного быстрее.
nooneknows
Батник проверять не буду. Подобных задач не имею, а конструировать что-то искусственно и искать приключений на свою голову не хочу.
Настройку архиваторов в TC легко проверить на соответствующей странице. Собственно, там достаточно убедиться в правильности путей к WinRAR.exe или rar.exе, которые могут находиться в принципе где угодно, лишь бы всё было указано правильно. (У меня, например, в TC любой битности используется 32-битная версия WinRAR по пути %Commander_path%\Utils\Arc\WinRAR\WinRAR.exe.) С последующей проверкой на упаковке произвольного файла (либо экзешник архиватора находится и операция выполняется, либо нет). В идеале это хорошо бы посмотреть на TC с минимальной конфигурацией. Но каким образом работа батника могла бы привести к изменению настроек TC, представить не могу.
Сбой конфигурации WinRAR? Это теоретически более возможно, но дистанционно представить, что там и как, не берусь. В конце концов, архиватор всегда можно переустановить (а заодно и обновить до свежей версии), не так ли?
Помимо удаления файлов "с помощью TC через WinRAR" есть, разумеется, возможность удалять их напрямую из интерфейса WinRAR, полностью минуя TC. Это проверялось? И вообще WinRAR.exe безотносительно к TC работает нормально?
И что там со вторым моим вопросом насчёт временной распаковки?
Даже самая богатая фантазия
Не представит себе наши безобразия.