1

Тема: CMD/BAT: Поиск и вывод строки из html файла

Доброго времени суток!
В универе задали задание, но не объяснили как его делать. Само задание заключается в том, чтобы создать cmd файл, которой должен в html файле найти строку с конструкцией вида <a href="ссылка">текст</a>. Вывести нужно сам текст между символами > <.
Спасибо заранее за внимание ^_^

2

Re: CMD/BAT: Поиск и вывод строки из html файла

Почему в России в почете нерадивые студенты с дипломами, нежели специалисты без последнего? Но это какбэ офтоп.
Какое-то с[т]раное задание, если учесть что кодировка html-документа не учитывается, раз, во-вторых, не говорится более ли одного тэга <a> в оном документе, да и кто в здравом уме и трезвой памяти будет парсить html командным сценарием? - три. Короче, если такое задается в универе, то препод явно не в себе или частенько прикладывается к бутылке. Но раз уж все обстоит столь худо, то давайте обо всем попорядку.
Допустим, что на весь html с именем foo только одна гиперссылка, тогда поиск будет примерно таким:

@echo off
  for /f "tokens=*" %%i in (
    'type foo ^| findstr /irc:"^<a.*/a>$"'
  ) do (
    for /f "tokens=2 delims=>,<" %%j in ("%%i") do echo %%j
  )
exit /b

Примерно - значит примерно, на форуме не умеют телепатировать html-документы, которые нужно парсить.

3

Re: CMD/BAT: Поиск и вывод строки из html файла

@echo off

for /f "delims=" %%i in ('
 findstr/irc:"<a href="\"[^>]*\"">[^<]*</a>" "example.html"
') do (
 set x=%%i
 for /f "tokens=2 delims=><" %%j in ('
  cmd/v/c "echo !x:*^<a href=!"
 ') do (
  echo.%%j
 )
)

pause>nul& exit/b

4

Re: CMD/BAT: Поиск и вывод строки из html файла

Спасибо большое

5 (изменено: ihoming, 2015-10-23 12:30:29)

Re: CMD/BAT: Поиск и вывод строки из html файла

Доброго времени суток, профессионалы! Не нашёл подходящей темы и чтобы не засорять форум другими темами, выбрал эту тему, которая отдалённо имеет отношение к моему обращению.

Прошу вашей помощи, так как сам не смог разобраться со своей проблемой.

В одной и той же папке на компьютере находятся два файла listing.xml и teknogods.ini

Файл teknogods.ini выглядит так:


[Settings]
Name=NICKNAME
ID=41bcef57
FOV=90
[Network]
NetworkInterface=255
NetworkInterfaceList=[0 = 192.168.0.101; 255 (default) = ANY IP]

А файл listing.xml выглядит так:


<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <ProcData>
    <v_path>iw5mp.exe</v_path>
    <v_nick>????????</v_nick>
  </ProcData>
</DocumentElement>

Нужен батник (скрипт), который пропишет   в строке     <v_nick>????????</v_nick> (в данном варианте на нужном месте размещены знаки вопроса) файла listing.xml значение после знака = (слово NICKNAME) из строки Name=NICKNAME  файла teknogods.ini.

Другими словами пропишется в строке и будет выглядеть так:


<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <ProcData>
    <v_path>iw5mp.exe</v_path>
    <v_nick>NICKNAME</v_nick>
  </ProcData>
</DocumentElement>

Файлы

Post's attachments

Listing.rar 393 b, 6 downloads since 2015-10-23 

You don't have the permssions to download the attachments of this post.

6 (изменено: ihoming, 2015-10-23 12:29:49)

Re: CMD/BAT: Поиск и вывод строки из html файла

Заранее благодарен.

7

Re: CMD/BAT: Поиск и вывод строки из html файла

Решение Вашей задачи смотрите в теме "Замена части строки в XML-файле частью строки из INI-файла".

8 (изменено: localmaster, 2021-04-26 12:16:47)

Re: CMD/BAT: Поиск и вывод строки из html файла

Yury пишет:
@echo off

for /f "delims=" %%i in ('
 findstr/irc:"<a href="\"[^>]*\"">[^<]*</a>" "example.html"
') do (
 set x=%%i
 for /f "tokens=2 delims=><" %%j in ('
  cmd/v/c "echo !x:*^<a href=!"
 ') do (
  echo.%%j
 )
)

pause>nul& exit/b

Доброго дня!

Никак не могу поправить скрипт для работы со своими задачами.
У меня в документе необходимо заменить текст между следующим набором символов ;KeyWord1=" и ";KeyWord2= (т.е. значение в кавычках).
Вместо "<a href="\"[^>]*\"">[^<]*</a>" составил следующее ";KeyWord1=".*";KeyWord2=", не понимаю как в строке for /f "tokens=2 delims=><" заменить скобки на кавычки.