View previous topic :: View next topic |
Author |
Message |
b01d
Joined: 06 Jan 2005 Posts: 44
|
(Separately) Posted: Sat May 13, 2006 16:12 Post subject: Преобразование FTP ссылок |
|
|
День добрый! Столкнулся со следующей проблемой:
При копировании ссылки(CTRL+SHIFT+ENTER) находясь на FTP ресурсе ссылка копируется в виде:
Code: | "ftp://212.212.212.212/Public/Video/Films (фильмы)/int/BMWfilms/1 - Ловушка.avi" |
Со всеми пробелами, русскими буквами и т.д. Что в принципе не совсем верно. Хотелось бы получать ссылку в правильном виде, т.е:
Code: | ftp://212.212.212.212/Public/Video/Films%20(%F4%E8%EB%FC%EC%FB)/int/BMWfilms/1%20-%20%CB%EE%E2%F3%F8%EA%E0.avi |
Такая ссылка хоть и менее наглядна, зато спокойно открывается любым браузером и любой качалкой.
Возможно ли такое? |
|
Back to top |
|
 |
horrible

Joined: 01 May 2006 Posts: 6 Location: Магнитогорск
|
(Separately) Posted: Sat May 13, 2006 17:32 Post subject: |
|
|
ссылки с обычными пробелами и русскими буквами у меня тоже открывается нормально во всех качалках и файрфоксе. _________________ lug.mgn.ru
vyazovoi.livejournal.com |
|
Back to top |
|
 |
funduk

Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Sat May 13, 2006 17:39 Post subject: |
|
|
CTRL+SHIFT+ENTER - это ты в комстроку копируешь, или на команду какую повесил?
Если первое, то попробуй команду cm_CopyNetNamesToClip = 2021 |
|
Back to top |
|
 |
b01d
Joined: 06 Jan 2005 Posts: 44
|
(Separately) Posted: Sat May 13, 2006 18:22 Post subject: |
|
|
2horrible не во всех, например не открываются в VLC Player
2funduk в комстроку копирую. Команда cm_CopyNetNamesToClip дает тоже самое. |
|
Back to top |
|
 |
funduk

Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Sat May 13, 2006 19:45 Post subject: |
|
|
b01d
Тебе бы могла помочь спецутилита от Lefteous lst2clip (т.к выполняет те же функции). Если нужной тебе функции там всё же нет, обратись к автору, он наверняка сможет добавить. |
|
Back to top |
|
 |
b01d
Joined: 06 Jan 2005 Posts: 44
|
(Separately) Posted: Sat May 13, 2006 21:43 Post subject: |
|
|
Уже ближе, но не совсем то. Она вместо "ftp://xx.xx.xx.xx" пишет "file:/0:" т.е. то что в панели тотала написано. |
|
Back to top |
|
 |
funduk

Joined: 16 Aug 2005 Posts: 1513 Location: Санкт-Петербург
|
(Separately) Posted: Sat May 13, 2006 21:53 Post subject: |
|
|
Ну так если не эта утилита, то никакая другая ! Обращайся к Lefteous'у.
Хотя, может быть, через скрипт можно вызвать какую-нибудь функцию, которая сама меняет такие пути. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Mon May 15, 2006 11:57 Post subject: |
|
|
b01d
funduk wrote: | Хотя, может быть, через скрипт можно вызвать какую-нибудь функцию, которая сама меняет такие пути. |
Такой встроенной функции нет. Вот, написал, вроде, правильно. Если будут ошибки в преобразовании, пиши.
Код *.vbs:
Code: | '==========================================================================
' Преобразование текстовой ссылки в буфере -
' замена русских символов и пробелов на 16-тиричный код этих символов
' с префиксом %
'==========================================================================
Dim TCS, Str, StrF, ChCode, Ch, i
Set TCS = CreateObject("TCScript.Helper")
Str = TCS.GetTextFromClip
For i = 1 To Len(Str)
Ch = Mid(Str, i, 1)
ChCode = Asc(Ch)
If (ChCode > 191) or (ChCode = 32) or (ChCode = 168) or (ChCode = 184) Then
StrF = StrF & "%" & Hex(ChCode)
Else
StrF = StrF & Ch
End If
Next
TCS.SetTextToClip(StrF)
Set TCS = Nothing
Wscript.Quit |
В скрипте используется Script Helper.
Если хочешь, могу дописать скрипт, чтобы не только преобразовывал, а сначала копировал пути в буфер. |
|
Back to top |
|
 |
b01d
Joined: 06 Jan 2005 Posts: 44
|
(Separately) Posted: Mon May 15, 2006 23:24 Post subject: |
|
|
То что надо! Спасибо!
Если не сложно, допиши пожалуйста, чтобы оно сначала копировало в буфер.
Заранее благодарен. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue May 16, 2006 10:21 Post subject: |
|
|
b01d
Не сложно:
Code: | '==========================================================================
' Преобразование текстовой ссылки в буфере -
' замена русских символов и пробелов на 16-тиричный код этих символов
' с префиксом %
' Можно преварительно выполнить копирование путей в буфер,
' указав в качестве параметра один из вариантов копирования:
' 0 - Копировать в буфер имена файлов
' 1 - Копировать в буфер имена с путями
' 2 - Копировать в буфер имена с UNC-путём
' 3 - Копировать в буфер путь источника
' 4 - Копировать в буфер путь получателя
'==========================================================================
Dim TCS, Str, StrF, ChCode, Ch, i
Set TCS = CreateObject("TCScript.Helper")
If WScript.Arguments.Count > 0 Then
Select Case WScript.Arguments(0)
Case 0 TCS.SendCommand(2017)
Case 1 TCS.SendCommand(2018)
Case 2 TCS.SendCommand(2021)
Case 3 TCS.SendCommand(2029)
Case 4 TCS.SendCommand(2030)
End Select
End If
Str = TCS.GetTextFromClip
For i = 1 To Len(Str)
Ch = Mid(Str, i, 1)
ChCode = Asc(Ch)
If (ChCode > 191) or (ChCode = 32) or (ChCode = 168) or (ChCode = 184) Then
StrF = StrF & "%" & Hex(ChCode)
Else
StrF = StrF & Ch
End If
Next
TCS.SetTextToClip(StrF)
Set TCS = Nothing
Wscript.Quit |
|
|
Back to top |
|
 |
|