2013-09-01 3 views
0

im пытается сделать своего рода автоматическое обновление rss для локального сервера rtmp, и я подумал, что самый простой способ сделать это - сделать один или два пакетных файла и позволить им запускать каждую минуту через Windows Task Scheduler.Пакетный файл для разбора txt на rss

Этот сервер записывает файлы flv и mp4 в каталог и у меня встроенный jwplayer на этом локальном сервере. Плейлисты этого игрока подаются через rss-файл, и я хочу, чтобы они автоматически обновлялись.

Первый пакетник было легко

дель RssRaw.txt реж/б> RssRaw.txt

2-й является тот, который я просто невежественны о и хотел бы попросить помощи.

я хотел бы, чтобы разобрать каждую строку файла RssRaw.txt и сохраняет его в файле RSS/XML в следующем формате:

<rss version="2.0" xmlns:jwplayer="http://rss.jwpcdn.com/"> 
    <channel> 

    <item> 
     <title> #1 </title> 
     <jwplayer:source file="/assets/#1.1" /> 
    </item> 
    <item> 
     <title> #2 </title> 
     <jwplayer:source file="/assets/#2.1" /> 
    </item> 

</channel> 
</rss> 

Где # 1 это просто имя файла и # 1.1 имя файла с расширением (.flv или .mp4) И где # 2 и # 2.1 - следующая строка/файл.

Я надеюсь, что это можно автоматически генерировать тег на основе того, сколько строк есть в RssRaw.txt

Это будет полезно, если я могу исключить определенные строки/слова, которые находятся в пакетник, потому что с этим setup он также будет перечислять текстовые и пакетные файлы в RssRaw.txt

Может ли кто-нибудь помочь мне или указать мне в правильном направлении или даже узнать, возможно ли это в пакетном файле? Или, возможно, это лучшее решение?

(имейте в виду, что я пытаюсь сделать это локальным сервером, поэтому я не смотрел веб-службы).

ответ

0

это читает файлы непосредственно из каталога, вам не нужна первая партия:

@ECHO OFF &SETLOCAL 
SET "header1=<rss version="2.0" xmlns:jwplayer="http://rss.jwpcdn.com/">" 
SET "header2= <channel>" 
SET "footer1= </channel>" 
SET "footer2=</rss>" 

(
SETLOCAL ENABLEDELAYEDEXPANSION 
ECHO(!header1! 
ECHO(!header2! 
ECHO(
ENDLOCAL 
FOR %%a IN (*.flv *.mp4) DO (
    ECHO( ^<item^> 
    ECHO(  ^<title^> %%~na ^</title^> 
    ECHO(  ^<jwplayer:source file="/assets/%%~nxa" /^> 
    ECHO( ^</item^> 
) 
SETLOCAL ENABLEDELAYEDEXPANSION 
ECHO(
ECHO(!footer1! 
ECHO(!footer2! 
)>outfile.rss 

Тем не менее, если вы хотите прочитать из файла, заменить код на FOR петли с этим:

FOR /f %%a IN (RssRaw.txt) DO (
+0

Удивительный мужчина, спасибо большое. Именно то, что я ищу. – user2645886

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