cojoc писал(а):3 нажимается кнопка, срабатывает скрипт меняется символы из буфера и переименовывается файл из пункта 1 на заголовок из 2 но с заменой символов
Ага, а в панели другая папка или другое выделение. Это не алгоритм.
Может так?:
2. Копируем заголовок шапки на трекере.
3. переходим из браузера в ТС, устанавливаем курсор на скаченным файле.
4. Жмём кнопку - подменяются симвлолы в буфере и базовое имя файла заменяется на обработанное имя.
Тут вопрос встал: что делать с символом ' " ' ? Ведь он один, а этих - ' « » ' - два.
Если бы после замыкающей кавычки шёл всегда пробел, то - не проблема, а то она может стоять и в конце, и между буквенными символами...
Да я заметил Batya об этом упомянул, я знаю что это не совсем тривиальная задача, я знаю что для этого есть рекурсия и регвыражения, но в теории...
Можно в принципе заменить " на апострофы, а лучше даже на один символ ' или другой какой-нибудь, если кто возьмётся...
Последний раз редактировалось cojoc Пн авг 15, 2011 21:11, всего редактировалось 1 раз.
' Переименовать базовое имя файла под курсором на текст в буфере
' Параметр - %V или %P%N
'===============================================================
F = WScript.Arguments(0)
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FileExists(F) Then WScript.Quit
C = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")
R C, """", "'"
R C, "|", "-"
R C, ":", " -"
R C, ";", ","
R C, "\", "_"
R C, "/", "_"
FSO.MoveFile F, FSO.GetParentFolderName(F) & "\" & C & "." & FSO.GetExtensionName(F)
Set FSO = Nothing
WScript.Quit
Sub R(N, A, B)
N = Replace(N, A, B)
End Sub
Последний раз редактировалось Flasher Пн авг 15, 2011 21:13, всего редактировалось 1 раз.
Работает! (: Спасибо Flasher!
Если кому интересен результат было
[rutracker.org].t3669718.torrent
Исходный код / Source Code (Дункан Джонс / Duncan Jones) [2011, США, Франция, Фантастика, боевик, триллер, HDRip] Dub стало
Исходный код _ Source Code (Дункан Джонс _ Duncan Jones) [2011, США, Франция, Фантастика, боевик, триллер, HDRip] Dub.torrent
' Переименовать базовое имя файла/папки под курсором на текст в буфере
' Параметр - %V %d
'=====================================================================
With WScript.Arguments
If .Count = 0 then Wscript.Quit
F = .Item(0)
End With
With CreateObject("WScript.Shell")
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = .RegRead(P)
If A > 0 Then .RegWrite P, 0, "REG_DWORD"
C = Trim(CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text"))
If A > 0 Then .RegWrite P, A, "REG_DWORD"
End With
If C <> "" Then
If InStr(C, vbLf) > 0 Then C = Left(C, InStr(C, vbCr) - 1)
R C, """", "''" : R C, "|", "-" : R C, ":", " -"
R C, ";", "," : R C, "\", "_" : R C, "/", "_"
With CreateObject("Scripting.FileSystemObject")
PF = .GetParentFolderName(F) & "\" : Const M = 1
If .FolderExists(F) Then
Name = C
Do While .FolderExists(PF & Name)
l = l + 1 : If l < 10^M Then PFx = Right(String(M, "0") & l, M) Else PFx = l
Name = C & " (" & PFx & ")"
Loop : .GetFolder(F).Name = Name
Else
Ext = .GetExtensionName(F) : Name = C & "." & Ext
Do While .FileExists(PF & Name)
l = l + 1 : If l < 10^M Then PFx = Right(String(M, "0") & l, M) Else PFx = l
Name = C & " (" & PFx & ")." & Ext
Loop : .GetFile(F).Name = Name
End If
End With : WScript.Quit
End If : Sub R(N, A, B) : N = Replace(N, A, B) : End Sub
Последний раз редактировалось Flasher Пт окт 26, 2012 14:35, всего редактировалось 1 раз.