2014-09-02 2 views
0

Я ищу код для извлечения числа, которое должно быть от одной до четырех цифр в длину от некоторого кода HTML. Я вытащил веб-страницу с помощью cURL и использовал FIND для извлечения единственной строки необходимой мне информации, но мне хотелось бы, чтобы результат был намного чище.Windows пакетный скрипт для извлечения числа из HTML-кода?

Вот пример HTML линии я имею дело с:

constant_text_here 123 constant_text</h2></td> 

вещей делает этот HTML-код спутать для пакетных сценариев? Я ничего не знаю о сценариях с кодом Windows Batch. Число может оставаться в виде строки, но ожидается, что оно будет от одной до четырех цифр.

ответ

0
@ECHO OFF 
SETLOCAL 
FOR /f "tokens=2" %%a IN (q25614455.txt) DO SET var=%%a 
ECHO var=%var% 
pause 
GOTO :EOF 

Я использовал файл с именем q25614455.txt, содержащий ваши данные для моего тестирования. К сожалению, вы не раскрываете, что на самом деле constant_text_here, поэтому оттачивание процедуры происходит в вашем bailiwick. Число, следующее за tokens=, выберет строку из текста, содержащегося в файле; если бы ваш текст был constant text here, вам нужно было бы изменить tokens=2 на tokens=4.

Возможно, также будет возможно включить ваш curl/find в процедуру и извлечь целевые данные в одну строку, но без достаточных деталей неопределенный общий вопрос может в лучшем случае получить смутный ответ.

+0

Спасибо. Я могу настроить код после просмотра примера. Постоянный текст и html-код не меняются на веб-странице, которую я проверяю. Изменяется только число, и это данные, которые я пытаюсь снять с веб-сервера. – Syntax42

0

< и> даст вам проблемы, поскольку они используются для перенаправления вывода.

Возможно использование VBscript?

Из командной строки:

C:\>set myvar=constant_text_here 123 constant_text</h2></td> 

выведет:

< was unexpected at this time. 

, но это будет работать:

C:\>set myvar="constant_text_here 123 constant_text</h2></td>" 
C:\>echo %myvar% 
"constant_text_here 123 constant_text</h2></td>" 

C:\>echo [%myvar:~20,4%] 
[123 ] 

Если предположить, что вас интересует всегда можно найти в положении 20

Смежные вопросы