View previous topic :: View next topic |
Author |
Message |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Sat Feb 06, 2010 02:39 Post subject: |
|
|
laburj wrote: | у меня если путь русскими буквами или файл с русским именем, то происходит распаковка в папку с именем архива и архив не удаляется. |
laburj wrote: | Batya, ещё заметил, что скрипт не работает и с англоязычными путями, содержащими пробелы |
Сорри, я как-то пропустил твои посты с проблемами. Хорошо, что тему подняли
Лучше поздно, чем никогда. Со скриптом всё в порядке, а батник должен быть такой:
Code: | %1 0 %2 X -ibck -ad {{%3}} ""%4""
chcp 1251>nul
FOR /F "delims=" %%i IN (%3) do del "%%i" |
Avada
Этот пост переносить не надо  _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Mon Feb 08, 2010 02:13 Post subject: |
|
|
Batya, тебе в очередной раз уважуха)
наконец-то теперь всё работает, кроме..
..случая распаковки многотомных архивов. Если выделить несколько частей архива (part1, part2 и т.д.), а после нажать на кнопку распаковки (даже с ключом режима перезаписи : пропускать существующие файлы), то возникает несколько (по количеству частей архива) диагностических сообщений от winRar, мол такой то архив.part1.rar: Нет файлов для извлечения |
|
Back to top |
|
 |
racer
Joined: 16 Feb 2010 Posts: 2
|
(Separately) Posted: Tue Feb 16, 2010 18:21 Post subject: Фоновая распаковка архивов с последующим удалением архивов |
|
|
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 |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Feb 16, 2010 19:14 Post subject: |
|
|
racer
Да в скрипт UnpackHere.vbs от Volniy. Код скрипта приведён постом выше.
Зелёный текст это то, что уже есть в скрипте; оранжевый — то, что нужно добавить.
Только не советую использовать эту неудачную доработку, т.к. нужно угадать паузу для распаковки всех архивов (TCS.Pause=7000 — это 7 сек.)
Если времени окажется недостаточно, скрипт будет работать неправильно. |
|
Back to top |
|
 |
racer
Joined: 16 Feb 2010 Posts: 2
|
(Separately) Posted: Wed Feb 17, 2010 04:45 Post subject: aaa |
|
|
ну яже спрашивал про скрипт/// непойму как его открыть куда че фак
а с биндами и так все ясно это кстати тупо придумано а вот как сделать чтоб архив удалялся или хотябы куданиб отправлялся8^) сам посебе???
сенсорные экраны юзаеш??
! | CaptainFlint: | Предупреждение за нарушение п. 14 правил. Настоятельно рекомендую сменить стиль выражения своих мыслей так, чтобы было удобно и понятно не только пишущему, но и читающему. | |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
|
Back to top |
|
 |
swr
Joined: 07 Jun 2007 Posts: 59
|
(Separately) Posted: Tue Jul 12, 2011 11:30 Post subject: |
|
|
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 |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jul 12, 2011 12:32 Post subject: |
|
|
swr
Я в нюансах кода не ковырялся. Может, в этом дело? |
|
Back to top |
|
 |
Cobblestone-TLT
Joined: 01 Feb 2014 Posts: 34
|
(Separately) Posted: Sun Feb 02, 2014 14:05 Post subject: |
|
|
Возможно ли поправить батник/скрипт таким образом, чтобы архив удалялся только при удачной распаковке? Бывают ситуации, что среди незапароленных архивов попадаются с паролем, в такой ситуации вылетает окошко с запросом пароля, приходится выискивать такой архив и временно копировать его в другое место, чтобы в дальнейшем уточнять пароль к нему и распаковывать отдельно, или если вдруг ошибешься с вводом пароля, то после распаковки получишь пустую папку, WinRAR сообщит об ошибке несовпадения пароля, но батник по завершении распаковки всех архивов их в любом случае удалит.
Вобщем очень хочется видеть следующий результат работы скрипта/батника/кнопки:
1. выделяешь нужные архивы
2. жмешь кнопку
3. на месте удачно распакованных архивов - папки с их содержимым (сами архивы удалены)
4. архивы, распакованные с ошибкой (несовпадение пароля и т.п.) - остаются на своём месте нетронутыми, пустые папки после их неудачной распаковки не созданы(удалены).
Такми образом сразу будет видно какие архивы распаковались "как надо", а какие требуют "особого внимания".
Еще лучше, если при распаковке архивы, требующие ввода пароля будут игнорироваться вовсе. Дело в том, что массив обрабатываемых архивов достаточно велик, а зашифрованные попадаются достаточно редко, в небольших количествах и пароли к ним, как правило, разные. Что касается таких запароленных архивов, автоматизировать получается нечего, но терять их в процессе пакетной распаковки недопустимо.
p.s. Какие из обрабатываемых архивов под паролем заранее неизвестно.
p.p.s. очень не хочется, чтобы при "натыкании" на такой архив весь процесс "стопорился", в идеале если он просто будет автоматически пропущен.
(возникла идея) Возможно у архивов есть какая-то сигнатура по которой можно определить установлен к ним пароль или нет, по этой сигнатуре отфильтровать полученый список и дальнейшую обработку производить только с теми, что для распаковки пароля не трубуют.
Если довести функционал до такого уровня реально - буду крайне признателен.
Posted after 2 minutes:
Возможно вопрос больше в тему "Автоматизация", но уж коли сам батник, скрипт и кнопка находятся здесь, написал сюда же. |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 02, 2014 15:24 Post subject: |
|
|
Cobblestone-TLT
Чтобы всё было на своих местах, лучше всего попросту переместить тему в "Автоматизацию". _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Cobblestone-TLT
Joined: 01 Feb 2014 Posts: 34
|
(Separately) Posted: Sun Feb 02, 2014 18:26 Post subject: |
|
|
Avada
Поясните пожалуйста, мне со своим сообщением надо что-то сделать? Или создать с ним тему в "Автоматизации"?
Я вроде как нашел уже интересующую меня тему, воспользовался вариантом решения поставленной задачи, предложенным в этой теме, столкнулся с некоторыми нюансами и попросил помощи в их решении здесь же. Если всей этой теме место в другом разделе, то решение о её переносе, уверен, модератором примется без моего участия. Если требуется создать тему в "Автоматизации", я перенесу своё сообщение туда, а вас попрошу добавить ссылку на страницу в этой теме с уже имеющимися наработками по этому вопросу.
Спасибо за внимание!
p.s. Случай считаю не таким уж частным, думаю не только у меня может сложиться ситуация, когда воспользовавшись предложенным вариантом, пользователь получит пустую папку и удаленный первоисточник информации (я про случай архива под паролем). |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Sun Feb 02, 2014 19:04 Post subject: |
|
|
Cobblestone-TLT
Решение о переносе уже принято, и сам перенос, как нетрудно видеть, выполнен — мы сейчас в "Автоматизации". (Зелёным цветом в моих постах обозначаются модераторские действия.) Дополнительно с темой и сообщением ничего сейчас делать не надо. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Feb 02, 2014 19:24 Post subject: |
|
|
Cobblestone-TLT
Если заголовки зашифрованы, то практически нереально...
Разве что создавать комментарии для архивов и там прописывать статус.
Удалять пустые папки можно, но от того утилита висеть в трее не перестанет. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Cobblestone-TLT
Joined: 01 Feb 2014 Posts: 34
|
(Separately) Posted: Sun Feb 02, 2014 19:45 Post subject: |
|
|
Flasher
А если попытаться реализовать такой алгоритм: скрипт пытается распаковать архив, пытается впихнуть какой-либо пароль, пусть так же из буфера или заранее заданный где-либо в параметрах, если буфер пустой (чтобы процесс не останавливался на окне с запросом этого самого пароля), затем проверяет резмер получившейся папки, если результат "нулевой" - удаляет папку, оставляет архив, если не нулевой (папка содержит файлы/вложенные папки с файлами ненулевой длины) - скрипт оставляет эту папку и удаляет исходный архив. Сообщения WinRAR об ошибках при распаковке из-за несовпадения пароля желательно при этом как-то игнорировать(пропускать/скрывать).
Posted after 4 minutes:
Опередил меня немного) Пусть даже остается висеть в трее и придется вручную закрывать окна с ошибками WinRAR'а (благо таких окон будет не много и не часто) лишь бы они не мешали обрабатывать все остальные и не удалялись сами архивы, которые явились причиной появления этих окон с ошибками. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Feb 02, 2014 21:04 Post subject: |
|
|
Cobblestone-TLT
WinRAR.exe и 7z.exe будут создавать папки в любом случае (7z даже файлы-пустышки будет создавать), т.е. придётся в любом случае удалять нулевые папки. А с висом и окном решаемо ключами -p- -inul/-y. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
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
|