View previous topic :: View next topic |
Author |
Message |
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Fri Feb 27, 2009 01:09 Post subject: Запрос: скрипт для распаковки архива с паролем (?) |
|
|
Друзья,
помогите, пожалуйста, с помощью скрипта решить такую задачу:
- Автоматизация распаковки rar-архива с паролем.
- Распаковывать в каталог в соседнем окне (напротив).
- Пароль подставлять из буфера обмена.
Что-то типа:
rar e -pпароль_в_буфере D:\путь_напротив
- По окончании распаковки архив удалять.
Возможно ли такое?
Спасибо. |
|
Back to top |
|
|
fa1con
Joined: 19 Aug 2006 Posts: 162
|
(Separately) Posted: Fri Feb 27, 2009 18:02 Post subject: |
|
|
Могу предложить кнопку:
Code: | TOTALCMD#BAR#DATA
winrar
x %P%N %T
WCMICONS.DLL,31
-1
|
Появится окно с запросом пароля. Ctrl+v, enter. Либо скриптом запускать вынрар с параметрами:
Code: | winrar x -p<текст с БО> %P%N %T |
Скрипт писать не возьмусь, хотя это, вроде, не сложно. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Fri Feb 27, 2009 22:43 Post subject: |
|
|
2kadvlad
Возможно, тебе эта мысль не приходила в голову: пароль - это по сути своей секретная информация, которую надо в идеале помнить, либо, на худой конец, записывать в самое потайное место. Буфер же обмена таковым не является, вытащить из него информацию проще простого, даже если она была туда помещена хоть месяц назад.
Лучше вводить пароль с клавиатуры при распаковке. Тогда можно обойтись батником: Code: | winrar x -p%1 %2%3 %4
del %2%3 | Параметры кнопки:При запуске появится запрос на пароль. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Fri Feb 27, 2009 23:03 Post subject: |
|
|
fa1con, Вахмурка,
спасибо
Речь идёт об элементарной автоматизации рутинных процессов:
файлы, скачиваемые с файлообменников типа rapidshare, зачастую запаролены. Распаковка архивов происходит на следующий день или позже. Вспоминать, где записан пароль, бывает затруднительно.
Так что никакой секретности на домашнем компьютере нет и быть не может.
Если такая возможность существует — почему бы не воспользоваться ею?
В идеале было бы вообще исключить человеческий фактор —
брать пароль из txt-файла, одноимённого архиву — многие менеджеры закачек умеют создавать файл-описание (архив.rar.txt) к любой закачке; я так записываю пароли к скачиваемому контенту.
К сожалению, не обладаю достаточным уровнем знаний, чтобы самостоятельно решить задачу. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Sat Feb 28, 2009 00:11 Post subject: |
|
|
Если четко и однозначно поставишь задачу, попробую написать скрипт. Если текстовый файл имеет простую структуру, можно попробовать обойтись батником. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Sat Feb 28, 2009 00:48 Post subject: |
|
|
ОК, попробую.
обойдёмся без текстового файла: это всё же сложно (там ещё указывается URL и дата закачки).
Дано:
Запароленный архив "archive.rar".
Задача:
Распаковать архив в каталог напротив или предуказанный каталог (например, D:\New)
Дополнительно:
Архиватор rar.exe лежит в %systemroot%
Перед распаковкой копируем пароль из txt-файла в буфер обмена.
Вариант fa1con нормально работает через конт.меню "copy-paste" в консоли.
Если ты скажешь, что всё-таки будет проще копипейстом обходиться, чем скрипт писать — я не буду настаивать, соглашусь :)
Спасибо.
Last edited by kadvlad on Sat Feb 28, 2009 20:53; edited 1 time in total |
|
Back to top |
|
|
fa1con
Joined: 19 Aug 2006 Posts: 162
|
(Separately) Posted: Sat Feb 28, 2009 11:12 Post subject: |
|
|
kadvlad, это не четко и однозначно поставленная задача. Какой ещё тхт-файл? Бррр, ничего не понял.
Ты часто качаешь запаленные рар-архивы, пароли к которым разбросаны по форумам. Ты хочешь сохранить соответствие архив-пароль, а после завершения закачки распаковать все архивы использовав это соответствие. При чем хочешь что б все было максимально автоматизировано. Правильно?
Если да, предлагаю такой вариант. Добавляешь закачку с менеджер, переключаешься на тотал, тыкаешь на только что созданный менеджером файл, нажимаешь ctrl+z, вставляешь туда пароль. Так делаешь для каждого файла. Теперь нужно распаковать, используя скрипт.
Скрипт должен распаковывать выделенные рар-архивы, используя в качестве пароля коментарий из файла descript.ion.
kadvlad, подходит? Если да, проси у Вахмурки скрипт. |
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Sat Feb 28, 2009 20:33 Post subject: |
|
|
Насчет тхт-файла я некорректно выразился: считаем, что перед началом распаковки пароль мы уже самостоятельно скопировали в буфер.
Выковыривать скриптом пароль из файла-описания всё ж муторно (?).
В Download Master создаётся файл "archive.rar.txt":
Name: archive.rar
URL: http://address.com/..archive.rar
Size: 767682
Create time: 28.02.2009 17:15:06
Complete time: 28.02.2009 17:16:32
Referer:
Description: пароль
В USDownloader создаётся файл "archive.txt":
Имя: archive
URL: http://address.com/..
Размер: 749,69 KB (767682)
Дата: 28.02.2009 14:51
Описание: пароль
Возиться со свойствами архива (CTRL-Z) тоже заморочно. Представь, что они стоят в длинной очереди в качалке, и на диске их ещё попросту нет, т.е. пока некуда вводить "свойства".
----------------
Вообще, в идеале было бы прикрутить к качалке нормальный планировщик:
после скачивания архива запускается rar.exe с указанными параметрами (или через скрипт — для вставки пароля), ищет в текущей директории архив, распаковует его и потом удаляет. Красота! |
|
Back to top |
|
|
fa1con
Joined: 19 Aug 2006 Posts: 162
|
(Separately) Posted: Sat Feb 28, 2009 20:52 Post subject: |
|
|
kadvlad
а торренты не пробоал юзать? |
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Sat Feb 28, 2009 20:58 Post subject: |
|
|
fa1con
спасибо, юзаю активно
Но бывает всё же — в закрытых блогах выкладывают под паролем интересные вещи, с которыми в торрентах сложно.
В нашем же случае идёт речь об автоматизации процесса работы с файлами, верно? Благо, Тотал позволяет сделать это оптимально.. |
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Sun Mar 01, 2009 13:49 Post subject: |
|
|
Друзья,
принимайте работу:
за основу взял найденный в TCKB vbs-скрипт
1. Создал "rar.bat":
Code: | @echo off
rar x -p%1 %2%3 %4 |
с параметрами запуска ? %P %N %T и добавил батник в пользовательское меню.
2. Повесил этот пункт меню на хоткей F11.
3. Создал скрипт "paste clipbd.vbs":
Code: | Dim TCS, Str
Set TCS = CreateObject("TCScript.Helper")
Str = TCS.GetTextFromClip
TCS.Pause=100
TCS.LockTC True
TCS.SendKeystroke ("{F11}")
TCS.SendKeystroke ("{HOME}")
TCS.SendKeystroke (Str)
TCS.Pause=100
TCS.SendKeystroke ("{Enter}")
TCS.LockTC False
Set TCS = Nothing
Wscript.Quit
|
4. Повесил скрипт на кнопку
Code: | TOTALCMD#BAR#DATA
"D:\paste clipbd.vbs"
%L
C:\WINDOWS\System32\WScript.exe
paste clipbd
-1 |
Теперь при нажатии на эту кнопку запароленный архив под курсором распаковуется в директорию напротив, а пароль вставляется из буфера обмена.
Посмотрите — я всё правильно сделал?
Спасибо за содействие. |
|
Back to top |
|
|
fa1con
Joined: 19 Aug 2006 Posts: 162
|
(Separately) Posted: Sun Mar 01, 2009 16:02 Post subject: |
|
|
kadvlad
Лучше как-то так:
Code: | ' =====================================================================
' File: unrarp.vbs
' Description: Распаковка запароленного rar-архива, использую в
' качестве пароля текст из clipboard
' winrar x -p<текст из БО> %P%N %T
' Installation: Создайте кнопку на панели TC
' Команда: "диск:\путь\к\файлу\unrarp.vbs"
' Параметры: %P%N %T
' =====================================================================
Dim RarPath, Params
RarPath = "c:\Program Files\WinRAR\Rar.exe" 'Путь к (win)rar-у
Set objArgs = WScript.Arguments
Set WS = CreateObject("WScript.Shell")
if objArgs.Count = 2 then
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
strURL = objIE.document.parentwindow.clipboardData.GetData("text")
objIE.Quit
Params = "x -p" & strURL & " " & chr(34) & objArgs(0) & chr(34) & " " & chr(34) & objArgs(1) &chr(34)
WS.run chr(34) & RarPath & chr(34) & " " & Params
End if |
|
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Sun Mar 01, 2009 16:36 Post subject: |
|
|
fa1con
спасибо, но мне проще через более простой скрипт
Set objIE = CreateObject("InternetExplorer.Application") ?
с IE и его производными я не дружу..
подскажи, пожалуйста, с каким параметром правильно запускать мой скрипт (см. выше), чтобы сразу обрабатывались все выделенные файлы-архивы?
пробовал %S и %P%S — ошибки.
в справке написано:
Quote: | %S - имена всех выделенных файлов. Имена, содержащие пробелы, будут взяты в кавычки. Имейте в виду, что длина командной строки не может превышать 32767 символов. |
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Mar 02, 2009 18:34 Post subject: |
|
|
kadvlad
Кнопка:
Code: | TOTALCMD#BAR#DATA
%Commander_Path%\Utils\WHS\MultiRun.vbs
10 "%%ProgramFiles%%\WinRar\WinRar.Exe" X -ibck -p### <<%L>> "%T"
%Commander_Path%\WCMICONS.DLL,31
Распаковка запароленных архивов
1
-1
|
Используется MultiRun.vbs. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
kadvlad
Joined: 26 Aug 2007 Posts: 81
|
(Separately) Posted: Tue Mar 03, 2009 00:09 Post subject: |
|
|
Batya,
спасибо, работает :) |
|
Back to top |
|
|
|