View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Aug 15, 2011 16:42 Post subject: |
|
|
cojoc wrote: | 3 нажимается кнопка, срабатывает скрипт меняется символы из буфера и переименовывается файл из пункта 1 на заголовок из 2 но с заменой символов | Ага, а в панели другая папка или другое выделение. Это не алгоритм.
Может так?:
2. Копируем заголовок шапки на трекере.
3. переходим из браузера в ТС, устанавливаем курсор на скаченным файле.
4. Жмём кнопку - подменяются симвлолы в буфере и базовое имя файла заменяется на обработанное имя. |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Aug 15, 2011 16:48 Post subject: |
|
|
Flasher wrote: | устанавливаем курсор на скаченным файле. |
да так, это я опустил, как подразумевающиеся, но для полноты ваш вариант правильней и лаконичней. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Aug 15, 2011 20:07 Post subject: |
|
|
Тут вопрос встал: что делать с символом ' " ' ? Ведь он один, а этих - ' « » ' - два.
Если бы после замыкающей кавычки шёл всегда пробел, то - не проблема, а то она может стоять и в конце, и между буквенными символами... |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Aug 15, 2011 20:32 Post subject: |
|
|
Да я заметил Batya об этом упомянул, я знаю что это не совсем тривиальная задача, я знаю что для этого есть рекурсия и регвыражения, но в теории...
Можно в принципе заменить " на апострофы, а лучше даже на один символ ' или другой какой-нибудь, если кто возьмётся...
Last edited by cojoc on Mon Aug 15, 2011 21:11; edited 1 time in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Aug 15, 2011 20:50 Post subject: |
|
|
С регекспами лень ковыряться, там и правда не так просто. Пусть будут апострофы:
Code: | ' Переименовать базовое имя файла под курсором на текст в буфере
' Параметр - %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 |
Last edited by Flasher on Mon Aug 15, 2011 21:13; edited 1 time in total |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Aug 15, 2011 21:06 Post subject: |
|
|
Flasher
Оо спасибо сейчас проведу испытания! |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Aug 15, 2011 21:13 Post subject: |
|
|
Кой-чего поправил. |
|
Back to top |
|
|
cojoc
Joined: 04 Sep 2009 Posts: 144
|
(Separately) Posted: Mon Aug 15, 2011 21:23 Post subject: |
|
|
Работает! (: Спасибо Flasher!
Если кому интересен результат
было
[rutracker.org].t3669718.torrent
Исходный код / Source Code (Дункан Джонс / Duncan Jones) [2011, США, Франция, Фантастика, боевик, триллер, HDRip] Dub
стало
Исходный код _ Source Code (Дункан Джонс _ Duncan Jones) [2011, США, Франция, Фантастика, боевик, триллер, HDRip] Dub.torrent |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue Aug 16, 2011 16:21 Post subject: |
|
|
Чем мой вариант не устраивал? Отсутствием кнопки? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 16, 2011 16:28 Post subject: |
|
|
А ты прочти шапку скрипта. Твоя утилита ко всему прочему (у меня на 7) кракозябры выдаёт на кириллице. |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue Aug 16, 2011 16:30 Post subject: |
|
|
Новая версия после правок с кракозябрами? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 16, 2011 16:30 Post subject: |
|
|
Только что скачивал. |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue Aug 16, 2011 16:33 Post subject: |
|
|
Тогда ясно. |
|
Back to top |
|
|
shveicar
Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Thu Oct 25, 2012 21:47 Post subject: |
|
|
Здравствуйте.
А можно добавить в скрипт
Quote: | Переименовать базовое имя файла под курсором | возможность также, переименовывать не только файл, но и каталог под курсором, или это должен быть отдельный скрипт? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Oct 26, 2012 00:07 Post subject: |
|
|
Code: | ' Переименовать базовое имя файла/папки под курсором на текст в буфере
' Параметр - %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 |
Last edited by Flasher on Fri Oct 26, 2012 14:35; edited 1 time in total |
|
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
|