Если вы дадите нам более подробную информацию (т.е. путь и имя файлов, строку, которую вы хотите извлечь, и т. Д.), Возможно, я могу написать пакетный файл .BAT Windows для решения этой задачи ...
РЕДАКТИРОВАТЬ
Чтобы написать Batch-файл, который успешно запускается, мне нужна пара дополнительных данных, поэтому я сделал некоторые предположения.Вы можете помочь мне исправить детали.Это мой метод:
- Ищите строку, содержащую "> Текстовую ссылку <".Я полагаю, что есть только один;это может быть исправлено. </li>
- Прочитайте следующую строку.Я предположил, что каждый
td
расположен в независимых строках;это может быть исправлено. - В этой строке удалите текст от начала строки до строки
value
. - Замените кавычки на $ (следующий шаг не может обработать кавычки).
- Получить текст между $;это результат. Команда
for /F skip...
может прочитать неправильную строку, если файл содержит пустые строки;это может быть исправлено.
@echo off
setlocal DisableDelayedExpansion
findstr /n ">Text link<" thefile.htm > linefound.tmp
for /F "delims=:" %%a in (linefound.tmp) do set lineNo=%%a
for /F "skip=%lineNo% delims=" %%a in (thefile.htm) do (
set "theLine=%%a"
goto continue
)
:continue
setlocal EnableDelayedExpansion
set theLine=!theLine:*value=!
set theLine=!theLine:"=$!
for /F "tokens=2 delims=$" %%a in ("!theLine!") do set URL=%%a
echo Result: %URL%
РЕДАКТ.2
Вы меня смущаете.Сработал первый код или нет?Второй пример, который вы разместили в комментариях, похоже, не связан с первым (данные находятся во втором <td>
или после [url=http://
?).Это та же проблема или другая?Пожалуйста, не думайте, что я знаю о формате файла HTML (не знаю).Я действительно знаю о пакетных файлах, но я не могу догадаться, что делать, если у меня нет полной информации ...
В следующем пакетном файле показано все, что находится в квадратных скобках в той же строке, что и [url=http://
строка в файле, указанная в первом параметре:
@echo off
for /F "tokens=2 delims=[]" %%a in ('findstr /n "[url=http://" %1') do echo %%a