Задача в CMD.
1) Как я могу сравнить, если строка в строке?Я проверил руководство здесь для «Boolean Test» существует ли строка? »« Но я не могу понять пример или он не работает для меня.Этот кусок кода, это просто попытка.Я пытаюсь сравнить строку фильтра с каким-нибудь строкой, если в строке есть тег <a>
.
FOR /f "tokens=* delims= usebackq" %%c in ("%source%") DO (
echo %%c
IF %%c == "<a" (pause)
)
Поэтому, пока я читаю файл, он должен быть приостановлен, если налиния.
2) У меня есть еще один вопрос.Мне нужно будет отфильтровать строку, если в ссылке есть определенный файл, и получить содержимое ссылки.Моя первоначальная идея состояла в том, чтобы попытаться использовать findstr
с регулярным выражением, но, похоже, не использовать под-шаблоны.И следующая проблема будет заключаться в том, как получить результат в переменной.
set "pdf=0_1_en.pdf"
type "%source%" | grep "%pdf%" | findstr /r /c:"%pdf%.*>(.*).*</a>"
Итак, в общем, я хочу просмотреть файл и, если есть такая ссылка: REPAIRED: *
<a href="/Dokumenter/dsweb/Get/Document-408/EK_GEN_0_1_en.pdf" class="uline"><b>GEN 0.1 Preface</b></a>
- Я забыл стилизовать это как код, поэтому внутренняя часть кода не отображалась.Извините.
- Предупреждение: мы не знаем путь, только основное имя файла.
Получите заголовок GEN 0.1 Предисловие.Но вы должны знать, что есть также похожие ссылки с той же ссылкой, которые содержат изображение, а не текст внутри тега.
Код в соответствии с Aacini должен быть немного изменен:
@echo off
setlocal EnableDelayedExpansion
set "source=GEN 0 GENERAL.html"
set "pdf=0_1_en.pdf"
echo In file:%source%
echo Look for anchor:%pdf%
rem Process each line in %source% file:
for /F "usebackq delims=" %%c in ("%source%") do (
set "line=%%c"
rem Test if the line contain a "tag" that start with "<a" string:
set "tag=!line:*<a=!"
if not "!tag!" == "!line!" (
rem Take the string in tag that end in ">"
for /F "delims=^>" %%a in ("!tag!") do set "link=%%a"
echo Link found: !link!
if "!link!" == "GEN 0.1 Preface" echo Seeked link found
)
)
pause
Еще не закончено