Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Преобразование текстовых ссылок в гипертекстовые.

Ответить
Настройки темы
CMD/BAT - [решено] Преобразование текстовых ссылок в гипертекстовые.

Пользователь


Сообщения: 132
Благодарности: 3

Профиль | Отправить PM | Цитировать


Доброго дня уважаемые.
Помогите с проблемкой, есть батник -
Код: Выделить весь код
@echo off
1>>%systemdrive%\links.htm (
echo ^<body bgcolor="#336699"^>
echo ^<title^>links^</title^>
echo ^<div align="left"^>
echo ^<font color="#336699"^>
echo ^<hr size="4"^>
echo ^</div^>
echo ^<div align="left"^>
echo ^<font color="#ffffff"^>
echo ^<pre^>
type "C:\links.txt"
echo ^</pre^>
echo ^</H3^>
echo ^</div^>
echo ^<div align="left"^>
echo ^<font color="#336699"^>
echo ^<hr size="4"^> 
echo ^</div^>
echo ^<div align="left"^>
echo ^</div^>
)
...и соответственно сам links.txt который присутствует в коде.
Батник копирует весь текст из links.txt в links.htm создавая htm страницу, НО, проблема в том что текст там в таком формате -

Код: Выделить весь код
Компьютерный форум Ru.Board
http://forum.ru-board.com/
1297422373
-1
Операционные системы :: Компьютерный форум Ru.Board
http://forum.ru-board.com/forum.cgi?forum=62
1297422377
-1
и нужно что бы он пропускал две не нужные строки типа -
Код: Выделить весь код
1297422373
-1
и делал нормально ссылки типа -
<a href="http://forum.ru-board.com">Форум Ru.Board
Т.е другими словами делал из текстовой ссылки в файле links.txt гиперссылку в файл links.htm, пропуская весь ненужный мусор...

По сути нужно как-то добавлять к ссылкам <a href=" в начале каждой ссылки и знаки "> в конце, ну и после "> переносить само название.
Вот с этой частью я не могу справиться, помогите пож-ста...
Заранее благодарю...

Отправлено: 23:11, 11-02-2011

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата registeruser1:
нужно как-то добавлять к ссылкам <a href=" в начале каждой ссылки и знаки "> в конце, ну и после "> переносить само название »
Код: Выделить весь код
SETLOCAL EnableDelayedExpansion& set "X="
for /f "delims=" %%a in ('findstr /xvrc:"[-0-9 ]*" links.txt') do (
if defined X (echo ^<a href="%%a"^>!X!& set "X=") else set "X=%%a")
ENDLOCAL
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:16, 12-02-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 132
Благодарности: 3

Профиль | Отправить PM | Цитировать


amel27
Спасибо огромное, очень помог..! Внедрил твой код так -

Код: Выделить весь код
@echo off
SETLOCAL EnableDelayedExpansion& set "X="
1>>"C:\links.htm" (
echo ^<charset=utf-8">
echo ^<body bgcolor="#336699"^>
echo ^<title^>Links^</title^>
echo ^<div align="left"^>
echo ^<font color="#336699"^>
echo ^<hr size="4"^>
echo ^</div^>
echo ^<div align="left"^>
echo ^<font color="#ffffff"^>
echo ^<pre^>
echo ^<font size="4"^>
for /f "delims=" %%a in ('findstr /xvrc:"[-0-9 ]*" "C:\links.txt"') do (
if defined X (echo ^<a href="%%a"^>!X!& set "X=") else set "X=%%a")
echo ^</pre^>
echo ^</H3^>
echo ^</div^>
echo ^<div align="left"^>
echo ^<font color="#336699"^>
echo ^<hr size="4"^> 
echo ^</div^>
echo ^<div align="left"^>
echo ^</div^>
)
ENDLOCAL
Но первую строку после ссылки с набором цифр он все-таки тоже пишет -
1297422373
Как от нее можно избавится исходя из получившегося кода..?
Благодарю...

Отправлено: 07:57, 12-02-2011 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата registeruser1:
первую строку после ссылки с набором цифр он все-таки тоже пишет »
странно, у меня на XP SP3 RUS не пишет... поэкспериментируйте с разными данными,
следующая команда должна отсеивать строки, состоящие (только) из цифр:
Код: Выделить весь код
findstr /xvrc:"[-0-9 ]*" "C:\links.txt"
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:10, 12-02-2011 | #4


Пользователь


Сообщения: 132
Благодарности: 3

Профиль | Отправить PM | Цитировать


Ну вроде теоретически так, вижу фильтр для цифр, однако...
Но у меня XP SP3 ENG, хотя разницы ни какой же...

П.с.
Ааа, вот смотрите он добавляет лишние теги -
Код: Выделить весь код
<a href="http://forum.ru-board.com/">Компьютерный форум Ru.Board
<a href="-1">1297422373
Вторая строка не нужна там, как от нее избавится..?

Последний раз редактировалось registeruser1, 12-02-2011 в 11:25.


Отправлено: 11:19, 12-02-2011 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата registeruser1:
теоретически так, вижу фильтр для цифр »
ключ /V обращает включение на исключение данных,
у меня эта команда для links.txt из топика выдаёт:
Код: Выделить весь код
Компьютерный форум Ru.Board
http://forum.ru-board.com/
Операционные системы :: Компьютерный форум Ru.Board
http://forum.ru-board.com/forum.cgi?forum=62
может у этого links.txt какая-то особенная кодировка?
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:11, 12-02-2011 | #6


Пользователь


Сообщения: 132
Благодарности: 3

Профиль | Отправить PM | Цитировать


Ну мне пришлось поставить echo ^<charset=utf-8">, может действительно из-за кодировки...?

Отправлено: 12:15, 12-02-2011 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


registeruser1, тогда лучше выложить целиком файл links.txt, чем гадать
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:18, 12-02-2011 | #8


Пользователь


Сообщения: 132
Благодарности: 3

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: txt links.txt
(1.3 Kb, 5 просмотров)

..Вот он -

Отправлено: 12:21, 12-02-2011 | #9


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


registeruser1, ну да, UTF-8, но проблема даже не в этом, а в том, что строки заканчиваются на LF вместо стандартного для Windows CRLF, попробуйте изменить команду FINDSTR:
Код: Выделить весь код
findstr /bvrc:"[-0-9]" "C:\links.txt"
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:42, 12-02-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Преобразование текстовых ссылок в гипертекстовые.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Сравнение текстовых файлов Speedy Программное обеспечение Windows 9 30-03-2015 02:42
[решено] Где посмотреть список свойств ссылок (обычных ссылок интернета)? evg64 AutoIt 4 13-09-2009 13:41
Каталогизатор текстовых файлов XPurple Программное обеспечение Windows 4 19-04-2008 21:22
Сортировщик строк в текстовых файлах. borison Программное обеспечение Windows 2 04-02-2007 10:22
соединение текстовых файлов thevlad Хочу все знать 1 15-04-2006 06:54




 
Переход