Страница 1 из 1
Запрос: скрипт для распаковки архива с паролем (?)
Добавлено: Пт фев 27, 2009 00:09
kadvlad
Друзья,
помогите, пожалуйста, с помощью скрипта решить такую задачу:
- Автоматизация распаковки rar-архива с паролем.
- Распаковывать в каталог в соседнем окне (напротив).
- Пароль подставлять из буфера обмена.
Что-то типа:
rar e -pпароль_в_буфере D:\путь_напротив
- По окончании распаковки архив удалять.
Возможно ли такое?
Спасибо.
Добавлено: Пт фев 27, 2009 17:02
fa1con
Могу предложить кнопку:
Код: Выделить всё
TOTALCMD#BAR#DATA
winrar
x %P%N %T
WCMICONS.DLL,31
-1
Появится окно с запросом пароля. Ctrl+v, enter. Либо скриптом запускать вынрар с параметрами:
Скрипт писать не возьмусь, хотя это, вроде, не сложно.
Добавлено: Пт фев 27, 2009 21:43
Вахмурка
2
kadvlad
Возможно, тебе эта мысль не приходила в голову: пароль - это по сути своей секретная информация, которую надо в идеале помнить, либо, на худой конец, записывать в самое потайное место. Буфер же обмена таковым не является, вытащить из него информацию проще простого, даже если она была туда помещена хоть месяц назад.
Лучше вводить пароль с клавиатуры при распаковке. Тогда можно обойтись батником:
Параметры кнопки:
При запуске появится запрос на пароль.
Добавлено: Пт фев 27, 2009 22:03
kadvlad
fa1con, Вахмурка,
спасибо
Речь идёт об элементарной автоматизации рутинных процессов:
файлы, скачиваемые с файлообменников типа rapidshare, зачастую запаролены. Распаковка архивов происходит на следующий день или позже. Вспоминать, где записан пароль, бывает затруднительно.
Так что никакой секретности на домашнем компьютере нет и быть не может.
Если такая возможность существует — почему бы не воспользоваться ею?
В идеале было бы вообще исключить человеческий фактор —
брать пароль из txt-файла, одноимённого архиву — многие менеджеры закачек умеют создавать файл-описание (архив.rar.txt) к любой закачке; я так записываю пароли к скачиваемому контенту.
К сожалению, не обладаю достаточным уровнем знаний, чтобы самостоятельно решить задачу.
Добавлено: Пт фев 27, 2009 23:11
Вахмурка
Если четко и однозначно поставишь задачу, попробую написать скрипт. Если текстовый файл имеет простую структуру, можно попробовать обойтись батником.
Добавлено: Пт фев 27, 2009 23:48
kadvlad
ОК, попробую.
обойдёмся без текстового файла: это всё же сложно (там ещё указывается URL и дата закачки).
Дано:
Запароленный архив "archive.rar".
Задача:
Распаковать архив в каталог напротив или предуказанный каталог (например, D:\New)
Дополнительно:
Архиватор rar.exe лежит в %systemroot%
Перед распаковкой копируем пароль из txt-файла в буфер обмена.
Вариант fa1con нормально работает через конт.меню "copy-paste" в консоли.
Если ты скажешь, что всё-таки будет проще копипейстом обходиться, чем скрипт писать — я не буду настаивать, соглашусь :)
Спасибо.
Добавлено: Сб фев 28, 2009 10:12
fa1con
kadvlad, это не четко и однозначно поставленная задача. Какой ещё тхт-файл? Бррр, ничего не понял.
Ты часто качаешь запаленные рар-архивы, пароли к которым разбросаны по форумам. Ты хочешь сохранить соответствие архив-пароль, а после завершения закачки распаковать все архивы использовав это соответствие. При чем хочешь что б все было максимально автоматизировано. Правильно?
Если да, предлагаю такой вариант. Добавляешь закачку с менеджер, переключаешься на тотал, тыкаешь на только что созданный менеджером файл, нажимаешь ctrl+z, вставляешь туда пароль. Так делаешь для каждого файла. Теперь нужно распаковать, используя скрипт.
Скрипт должен распаковывать выделенные рар-архивы, используя в качестве пароля коментарий из файла descript.ion.
kadvlad, подходит? Если да, проси у Вахмурки скрипт.
Добавлено: Сб фев 28, 2009 19:33
kadvlad
Насчет тхт-файла я некорректно выразился: считаем, что перед началом распаковки пароль мы уже самостоятельно скопировали в буфер.
Выковыривать скриптом пароль из файла-описания всё ж муторно (?).
В
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 с указанными параметрами (или через скрипт — для вставки пароля), ищет в текущей директории архив, распаковует его и потом удаляет. Красота!
Добавлено: Сб фев 28, 2009 19:52
fa1con
kadvlad
а торренты не пробоал юзать?
Добавлено: Сб фев 28, 2009 19:58
kadvlad
fa1con
спасибо, юзаю активно
Но бывает всё же — в закрытых блогах выкладывают под паролем интересные вещи, с которыми в торрентах сложно.
В нашем же случае идёт речь об автоматизации процесса работы с файлами, верно? Благо, Тотал позволяет сделать это оптимально..
Добавлено: Вс мар 01, 2009 12:49
kadvlad
Друзья,
принимайте работу:
за основу взял найденный в TCKB vbs-скрипт
1. Создал "rar.bat":
с параметрами запуска
? %P %N %T и добавил батник в пользовательское меню.
2. Повесил этот пункт меню на хоткей F11.
3. Создал скрипт "paste clipbd.vbs":
Код: Выделить всё
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. Повесил скрипт на кнопку
Код: Выделить всё
TOTALCMD#BAR#DATA
"D:\paste clipbd.vbs"
%L
C:\WINDOWS\System32\WScript.exe
paste clipbd
-1
Теперь при нажатии на эту кнопку запароленный архив под курсором распаковуется в директорию напротив, а пароль вставляется из буфера обмена.
Посмотрите — я всё правильно сделал?
Спасибо за содействие.
Добавлено: Вс мар 01, 2009 15:02
fa1con
kadvlad
Лучше как-то так:
Код: Выделить всё
' =====================================================================
' 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
Добавлено: Вс мар 01, 2009 15:36
kadvlad
fa1con
спасибо, но мне проще через более простой скрипт
Set objIE = CreateObject("InternetExplorer.Application") ?
с IE и его производными я не дружу..
подскажи, пожалуйста, с каким параметром правильно запускать мой скрипт (см. выше), чтобы сразу обрабатывались
все выделенные файлы-архивы?
пробовал %S и %P%S — ошибки.
в справке написано:
%S - имена всех выделенных файлов. Имена, содержащие пробелы, будут взяты в кавычки. Имейте в виду, что длина командной строки не может превышать 32767 символов.
Добавлено: Пн мар 02, 2009 17:34
Batya
kadvlad
Кнопка:
Код: Выделить всё
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.
Добавлено: Пн мар 02, 2009 23:09
kadvlad
Batya,
спасибо, работает :)