View previous topic :: View next topic |
Author |
Message |
shveicar
Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Mon May 30, 2011 02:31 Post subject: Извлечение ссылок из ярлыков интернета |
|
|
Здравствуйте На днях столкнулся с такой проблемой скачал архив а в нем вместо файлов пакеты с интернет ярлыками их более 600 шт. Попытался извлечь ссылки textpipe так он (почему-то) половину пропускает (хотя с html файлами работает исправно) total commander при наведении на я hksr курсора ссылку показывает, но каждый раз открывать каждый ярлык с ума можно сойти.
Хотелось бы каким нибудь способом извлечь все ссылки из ярлыков ну а дальше загнать их в любую качалку и немного подождать. Если кто сталкивался с подобной проблемой - пожалуйста дайте совет. Спасибо.
P.s поиском пользовался похожей темы не нашел.
! | Avada: | Тема перенесена в "Автоматизацию", где смотрится более уместно. | |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon May 30, 2011 03:41 Post subject: |
|
|
[=shelldetails.URL-адрес] > cm_SaveDetailsToFile
Дальше регекспы в помощь. Например, можно использовать этот скрипт с такими параметрами:
"([:.\\\w^ \t]+)http" "http" %L
Либо WdxInfoPaсker для создания списка из выделенных файлов (с рекурсией). Просто у меня он крэшиться и лагает, поэтому насчёт него не уверен. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon May 30, 2011 09:06 Post subject: |
|
|
Как вариант, можно использовать батник:
Code: | @echo off
if -%1==-go goto go
if -%2==- echo Params: "%%WL" "C:\WhereToSaveLinks.txt" & pause & goto :EOF
if exist %2 del %2
for /f "usebackq delims=" %%f in (`type %1`) do type "%%f"|find /i "URL=">>%2
pause |
Перетащить на панель инструментов, дописать в параметрах "%%WL" "C:\WhereToSaveLinks.txt". Затем выделить файлы .URL, нажать кнопку - и в указанный текстовый файл будут выписаны все строки из ярлыков, начинающиеся с URL=. Затем в текстовом редакторе поиском и заменой удалить все URL=, и останутся чистые ссылки. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon May 30, 2011 12:53 Post subject: |
|
|
Упрощаю:
Code: | ' Добавление ссылок в файл-список из выделенных url
' Параметры: %L "<путь к файлу-списку>"
' Пример: %L "%TСсылки.txt"
'=====================================
With CreateObject("Scripting.FileSystemObject")
Set TempFile = .OpenTextFile(WScript.Arguments(0),1)
On Error Resume Next
Do While Not TempFile.AtEndOfStream
URLFile = .OpenTextFile(TempFile.ReadLine).ReadAll
Str=Filter(Split(URLFile, vbNewLine), "URL=", true, 1)
Set List = .OpenTextFile(WScript.Arguments(1),8,True)
List.WriteLine Mid(Str(0), 5)
List.Close
URLFile.Close
Loop
TempFile.Close
End With |
|
|
Back to top |
|
|
shveicar
Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Mon May 30, 2011 13:52 Post subject: |
|
|
Большое спасибо. Последний скрипт работает как надо.
А что за параметры во втором скрипте Code: | [=shelldetails.URL-адрес] > cm_SaveDetailsToFile | куда их нужно добавлять? плагин shelldetails у меня установлен. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon May 30, 2011 21:21 Post subject: |
|
|
Я не понял вопроса. Параметры идут далее и выделены жирным. Надо рассказывать, куда вставляются параметры в кнопке? А приведённая строка (почему-то в виде кода) никакого отношения к параметрам не имеет. Тем, кто пользуется колонками инфоплагинов, должно быть известно, как выглядят данные в полях. Это касается и внутренних команд ТС. Матчасть.
Только я забыл перед cm_SaveDetailsToFile указать на выполнение cm_SelectCurrentExtension. |
|
Back to top |
|
|
shveicar
Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Tue May 31, 2011 02:14 Post subject: |
|
|
Спасибо я разобрался |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Tue May 31, 2011 11:59 Post subject: |
|
|
Как вариант, объединить файлы Тоталом в один, отсортировать полученный файл, ссылки пойдут по порядку. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jun 30, 2011 05:41 Post subject: |
|
|
shveicar
Вариант попроще и побыстрее:
Code: | ' Добавление ссылок/строк в файл-список из выделенных url/htm(l)
' Параметры: %L "<путь к файлу-списку>"
' Пример: %L "%TСсылки.txt"
'=====================================
With CreateObject("Scripting.FileSystemObject")
On Error Resume Next
If .FileExists(WScript.Arguments(0)) Then
Set TempFile = .OpenTextFile(WScript.Arguments(0),1)
For Each F in Split(TempFile.ReadAll, vbnewline)
Set List = .OpenTextFile(WScript.Arguments(1),8,True)
E = .GetExtensionName(F)
If E="url" Then
List.WriteLine CreateObject("WScript.Shell").CreateShortcut(F).TargetPath
ElseIf E="htm" Or E="html" Then
For Each N in Filter(Split(.OpenTextFile(F).ReadAll, vbnewline), "URL=", true, 1)
List.WriteLine N
Next
End If
List.Close
Next
TempFile.Close
End If
End With |
Last edited by Flasher on Thu Jul 07, 2011 04:07; edited 1 time in total |
|
Back to top |
|
|
shveicar
Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Thu Jun 30, 2011 12:48 Post subject: |
|
|
Проще то, он конечно лучше, но только первый вариант Quote: | Добавлено: Пн Май 30, 2011 12:53 | извлекает также ссылки(целиком содержимое) из файлов html типа- содержимое Code: | <HTML><HEAD><META HTTP-EQUIV="Refresh" CONTENT="0; URL=poisk/spravka.chm"><TITLE>302 File moved</TITLE></HEAD></HTML> | -так называемые, файлы авто переадресации. а второй скрипт нет. Конечно изначально задача ставилась -четко для второго варианта. Но, и первый оказался для меня тоже полезен. В любом случае, и первый и второй скрипты - то что надо. Спасибо за Внимание. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jun 30, 2011 18:21 Post subject: |
|
|
shveicar wrote: | извлекает также ссылки(целиком содержимое) из файлов html типа- содержимое | Не знаю, зачем это надо, но целиком не может. На первые 4 символа строки будут обрезаны. Если это пробелы, то нестрашно. Могу, конечно, добавить условие, чтобы для html брались строки целиком. |
|
Back to top |
|
|
shveicar
Joined: 18 Apr 2011 Posts: 277 Location: Россия Москва
|
(Separately) Posted: Thu Jun 30, 2011 19:44 Post subject: |
|
|
Quote: | Не знаю, зачем это надо | Просто вместе с общими ссылками, которые были в скачанном архиве, попадались и html файлы со ссылками переадресации. Я их по началу textpipe извлекал, ну а когда скрипт появился, - сделал все за один раз.
А в скрипте, как я понял, нужно изменить Code: | List.WriteLine Mid(Str(0), 5) | цифру 5 на 1 и все будет "ок". Если можно, добавь пожалуйста вариант, чтобы скрипт брал все ссылки из папки под курсором(с учетом вложенных каталогов), и при этом брал так-же, URL и из обычных html файлов. Спасибо. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jun 30, 2011 21:14 Post subject: |
|
|
shveicar wrote: | нужно изменить цифру 5 на 1 и все будет "ок". | Это если кнопку не использовать для url-файлов, то да. shveicar wrote: | и при этом брал так-же, URL и из обычных html файлов | Url или в том виде, как тут? Если второе, то поправил последний скрипт. Кстати, лучше теперь его использовать, т.к. в тех проблемы были с кол-вом файлов и строк.
Насчёт рекурсии посмотрим, не сейчас. Хотя ничего не мешает нажать Ctrl+F12, отфильтровать, потом Ctrl+B>Ctrl+A и нажать кнопку. Задача-то не такая уж и частая. |
|
Back to top |
|
|
|