|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выделить подстроку (URL) из файла |
|
CMD/BAT - [решено] Выделить подстроку (URL) из файла
|
Новый участник Сообщения: 4 |
Профиль | Отправить PM | Цитировать
Добрый день,
помогите решить проблему))) Есть некий текстовый файл (см. атач) из которого необх. выделить URL, соответствующий "KAT-RU", т.е. на выходе надо получить "чистый" URL (без кавычек и запятой в конце) http://devbuilds.kaspersky-labs.com/...7_25_07_22.exe Заранее спасибо! |
|
Отправлено: 17:10, 25-07-2011 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать @Echo Off Set File=index.txt :: Получаем номер строки с нужной локализацией For /F "tokens=1 delims=:" %%A In ('Findstr /N "KAT-RU" "%File%"') Do (Set /A Line=%%A-1) :: Получение содержимого строки, замена двойных кавычек, вычленение url For /F "skip=%Line% tokens=*" %%A In (%File%) Do (Set Url=%%A&GoTo Break) :Break Set Url=%Url:"=+% For /F "tokens=1,2,3 delims=+" %%A In ("%Url%") Do (Set Url=%%C) Echo %Url% Pause>nul |
Отправлено: 17:51, 25-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо, за помощь!
А как быть, если исходный файл предствален в виде HTML страницы с тегами (<>)? При попытке воспользоваться приведенным советом, выдает ошибку (Ошибка в синтаксисе команды) из-за этих тегов. Т.е. Как "распарсить" вот такую строку, выделив из нее имя файла? 26 Jul 2011 05:33:47 99681144 <a href="setup_11.0.0.1245.x01_2011_07_26_09_23.exe">setup_11.0.0.1245.x01_2011_07_26_09_23.exe</a> |
Последний раз редактировалось vitna, 26-07-2011 в 13:44. Отправлено: 13:35, 26-07-2011 | #3 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Вот этот скрипт распарсит html-файл и выделит всё, что находится внутри a href="ссылка", производится проверка на расширение файла по ссылке. К сожалению, обойтись без использования одного временного файла не получилось. В данном примере ссылки выводятся Echo, вы уже сами перенаправьте их, куда нужно.
@Echo Off Set File=index.txt SetLocal EnableDelayedExpansion For /F "tokens=*" %%A In ('sed "s/.*href=.//" %File%') Do (Echo %%A>>tmp) For /F "tokens=*" %%A In ('sed "s/.>.*$//" tmp') Do ( Set String=%%A If /I "!String:~-4!"==".exe" Echo %%A ) Del tmp Pause>nul |
Последний раз редактировалось Anonymоus, 26-07-2011 в 16:04. Отправлено: 15:53, 26-07-2011 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - [решено] Скачивание файла, где часть URL это дата посл. изменения лок. файла | Efsey | Программирование и базы данных | 9 | 23-08-2010 19:48 | |
Выделить первый символ в строке | venuko | Вебмастеру | 6 | 15-07-2010 22:34 | |
Интернет - [решено] url уходит на localhost без участия файла etc/hosts | garkin123 | Microsoft Windows 7 | 7 | 13-12-2009 06:28 | |
CMD/BAT - выделить IP | FreeOw1 | Скриптовые языки администрирования Windows | 5 | 06-10-2009 01:29 | |
Как узнать реальный URL файла? | Morpheus | Хочу все знать | 4 | 02-05-2009 16:54 |
|