Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Фоновая распаковка архивов с последующим удалением архивов
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Sat Feb 06, 2010 02:39    Post subject: Reply with quote

laburj wrote:
у меня если путь русскими буквами или файл с русским именем, то происходит распаковка в папку с именем архива и архив не удаляется.

laburj wrote:
Batya, ещё заметил, что скрипт не работает и с англоязычными путями, содержащими пробелы

Сорри, я как-то пропустил твои посты с проблемами. Хорошо, что тему подняли Smile
Лучше поздно, чем никогда. Со скриптом всё в порядке, а батник должен быть такой:
Code:
%1 0 %2 X -ibck -ad {{%3}} ""%4""
chcp 1251>nul
FOR /F "delims=" %%i IN (%3) do del "%%i"


Avada
Этот пост переносить не надо Cool
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Mon Feb 08, 2010 02:13    Post subject: Reply with quote

Batya, тебе в очередной раз уважуха)
наконец-то теперь всё работает, кроме..
..случая распаковки многотомных архивов. Если выделить несколько частей архива (part1, part2 и т.д.), а после нажать на кнопку распаковки (даже с ключом режима перезаписи : пропускать существующие файлы), то возникает несколько (по количеству частей архива) диагностических сообщений от winRar, мол такой то архив.part1.rar: Нет файлов для извлечения
Back to top
View user's profile Send private message
racer



Joined: 16 Feb 2010
Posts: 2

Post (Separately) Posted: Tue Feb 16, 2010 18:21    Post subject: Фоновая распаковка архивов с последующим удалением архивов Reply with quote

Tol!k wrote:
вар 2
если в скрипт добавить такие строки
TCS.Pause=100
TCS.SendCommand "cm_SaveSelection", False
TCS.SendCommand "cm_UnpackFiles", False
и
TCS.SendKeystroke "{ENTER}"
'Время на распаковку всех выделенных архивов
TCS.Pause=7000
TCS.SendCommand "cm_RestoreSelection", False
TCS.Pause=100
TCS.SendKeystroke "{DELETE}"
TCS.SendKeystroke "{ENTER}"

Set TCS = Nothing
после распаковки архивы удаляются в корзину.
--------------------------------------------------------------------------
или
'Время на распаковку всех выделенных архивов
TCS.Pause=7000
TCS.SendCommand "cm_RestoreSelection", False
TCS.Pause=100
TCS.SendKeystroke "+{DELETE}"
TCS.SendKeystroke "{ENTER}"

для удаления мимо корзины (если позволяют настройки TC)

================================================

это вске очень прекрасно но куда прописывать эти команды обьясните вкраце ток понятно спасибоо!!заранее!
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Feb 16, 2010 19:14    Post subject: Reply with quote

racer
Да в скрипт UnpackHere.vbs от Volniy. Код скрипта приведён постом выше.
Зелёный текст это то, что уже есть в скрипте; оранжевый — то, что нужно добавить.
Только не советую использовать эту неудачную доработку, т.к. нужно угадать паузу для распаковки всех архивов (TCS.Pause=7000 — это 7 сек.)
Exclamation Если времени окажется недостаточно, скрипт будет работать неправильно.
Back to top
View user's profile Send private message
racer



Joined: 16 Feb 2010
Posts: 2

Post (Separately) Posted: Wed Feb 17, 2010 04:45    Post subject: aaa Reply with quote

ну яже спрашивал про скрипт/// непойму как его открыть куда че фак
а с биндами и так все ясно это кстати тупо придумано а вот как сделать чтоб архив удалялся или хотябы куданиб отправлялся8^) сам посебе???
сенсорные экраны юзаеш??

 !  CaptainFlint:
Предупреждение за нарушение п. 14 правил. Настоятельно рекомендую сменить стиль выражения своих мыслей так, чтобы было удобно и понятно не только пишущему, но и читающему.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Feb 17, 2010 19:33    Post subject: Re: aaa Reply with quote

racer wrote:
куда че фак
http://forum.wincmd.ru/viewpost.php?p=56542
Back to top
View user's profile Send private message
swr



Joined: 07 Jun 2007
Posts: 59

Post (Separately) Posted: Tue Jul 12, 2011 11:30    Post subject: Reply with quote

Batya wrote:
Написал vbs-скрипт - [Script] Выполнение команды для каждого элемента списка.

Для решения поставленной в теме задачи (кроме удаления) используется кнопка:
[code]TOTALCMD#BAR#DATA
%Commander_Path%\Utils\WHS\MultiRun.vbs 10 "%ProgramFiles%\WinRar\WinRar.exe"
X -ibck -ad <<%L>> "%P"
%ProgramFiles%\WinRar\WinRar.exe
Фоновое извлечение из архивов в папку с именем архива


-1


Скажите пожалуйста, возможно ли изменить данную кнопочку, чтобы архив распаковывался рядом в той же папке. Все это работает корретно до тех пор пока я не выделяю файлы-архивы в режиме просмотра директории без подкаталогов (по умолч. хоткей ctr+b)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Jul 12, 2011 12:32    Post subject: Reply with quote

swr
Я в нюансах кода не ковырялся. Может, в этом дело?
Back to top
View user's profile Send private message
Cobblestone-TLT



Joined: 01 Feb 2014
Posts: 34

Post (Separately) Posted: Sun Feb 02, 2014 14:05    Post subject: Reply with quote

Возможно ли поправить батник/скрипт таким образом, чтобы архив удалялся только при удачной распаковке? Бывают ситуации, что среди незапароленных архивов попадаются с паролем, в такой ситуации вылетает окошко с запросом пароля, приходится выискивать такой архив и временно копировать его в другое место, чтобы в дальнейшем уточнять пароль к нему и распаковывать отдельно, или если вдруг ошибешься с вводом пароля, то после распаковки получишь пустую папку, WinRAR сообщит об ошибке несовпадения пароля, но батник по завершении распаковки всех архивов их в любом случае удалит.

Вобщем очень хочется видеть следующий результат работы скрипта/батника/кнопки:
1. выделяешь нужные архивы
2. жмешь кнопку
3. на месте удачно распакованных архивов - папки с их содержимым (сами архивы удалены)
4. архивы, распакованные с ошибкой (несовпадение пароля и т.п.) - остаются на своём месте нетронутыми, пустые папки после их неудачной распаковки не созданы(удалены).

Такми образом сразу будет видно какие архивы распаковались "как надо", а какие требуют "особого внимания".

Еще лучше, если при распаковке архивы, требующие ввода пароля будут игнорироваться вовсе. Дело в том, что массив обрабатываемых архивов достаточно велик, а зашифрованные попадаются достаточно редко, в небольших количествах и пароли к ним, как правило, разные. Что касается таких запароленных архивов, автоматизировать получается нечего, но терять их в процессе пакетной распаковки недопустимо.

p.s. Какие из обрабатываемых архивов под паролем заранее неизвестно.
p.p.s. очень не хочется, чтобы при "натыкании" на такой архив весь процесс "стопорился", в идеале если он просто будет автоматически пропущен.

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

Если довести функционал до такого уровня реально - буду крайне признателен.

Posted after 2 minutes:

Возможно вопрос больше в тему "Автоматизация", но уж коли сам батник, скрипт и кнопка находятся здесь, написал сюда же.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Sun Feb 02, 2014 15:24    Post subject: Reply with quote

Cobblestone-TLT
Чтобы всё было на своих местах, лучше всего попросту переместить тему в "Автоматизацию".
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Cobblestone-TLT



Joined: 01 Feb 2014
Posts: 34

Post (Separately) Posted: Sun Feb 02, 2014 18:26    Post subject: Reply with quote

Avada
Поясните пожалуйста, мне со своим сообщением надо что-то сделать? Или создать с ним тему в "Автоматизации"?
Я вроде как нашел уже интересующую меня тему, воспользовался вариантом решения поставленной задачи, предложенным в этой теме, столкнулся с некоторыми нюансами и попросил помощи в их решении здесь же. Если всей этой теме место в другом разделе, то решение о её переносе, уверен, модератором примется без моего участия. Если требуется создать тему в "Автоматизации", я перенесу своё сообщение туда, а вас попрошу добавить ссылку на страницу в этой теме с уже имеющимися наработками по этому вопросу.
Спасибо за внимание!

p.s. Случай считаю не таким уж частным, думаю не только у меня может сложиться ситуация, когда воспользовавшись предложенным вариантом, пользователь получит пустую папку и удаленный первоисточник информации (я про случай архива под паролем).
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Sun Feb 02, 2014 19:04    Post subject: Reply with quote

Cobblestone-TLT
Решение о переносе уже принято, и сам перенос, как нетрудно видеть, выполнен — мы сейчас в "Автоматизации". (Зелёным цветом в моих постах обозначаются модераторские действия.) Дополнительно с темой и сообщением ничего сейчас делать не надо.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Feb 02, 2014 19:24    Post subject: Reply with quote

Cobblestone-TLT
Если заголовки зашифрованы, то практически нереально...
Разве что создавать комментарии для архивов и там прописывать статус.
Удалять пустые папки можно, но от того утилита висеть в трее не перестанет.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Cobblestone-TLT



Joined: 01 Feb 2014
Posts: 34

Post (Separately) Posted: Sun Feb 02, 2014 19:45    Post subject: Reply with quote

Flasher
А если попытаться реализовать такой алгоритм: скрипт пытается распаковать архив, пытается впихнуть какой-либо пароль, пусть так же из буфера или заранее заданный где-либо в параметрах, если буфер пустой (чтобы процесс не останавливался на окне с запросом этого самого пароля), затем проверяет резмер получившейся папки, если результат "нулевой" - удаляет папку, оставляет архив, если не нулевой (папка содержит файлы/вложенные папки с файлами ненулевой длины) - скрипт оставляет эту папку и удаляет исходный архив. Сообщения WinRAR об ошибках при распаковке из-за несовпадения пароля желательно при этом как-то игнорировать(пропускать/скрывать).

Posted after 4 minutes:

Опередил меня немного) Пусть даже остается висеть в трее и придется вручную закрывать окна с ошибками WinRAR'а (благо таких окон будет не много и не часто) лишь бы они не мешали обрабатывать все остальные и не удалялись сами архивы, которые явились причиной появления этих окон с ошибками.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Feb 02, 2014 21:04    Post subject: Reply with quote

Cobblestone-TLT
WinRAR.exe и 7z.exe будут создавать папки в любом случае (7z даже файлы-пустышки будет создавать), т.е. придётся в любом случае удалять нулевые папки. А с висом и окном решаемо ключами -p- -inul/-y.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
Jump to:  
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