我试图为本地rtmp服务器制作某种自动rss更新程序,我认为最简单的方法是制作一个或两个批处理文件,让它们通过Windows任务计划程序每分钟运行一次。
此服务器在dir中记录flv和mp4文件,并且我在该本地服务器上嵌入了jwplayer。 该播放器的播放列表通过rss文件提供,我希望它们自动更新。
第一个批处理文件很简单
del RssRaw.txt dir / b> RssRaw.txt
第二个是那个我只是无能为力并且想要求帮助的人。
我希望它解析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中的行数自动生成标记
如果我可以排除批处理文件中的某些行/单词将会有所帮助,因为使用此设置它还会列出RssRaw.txt中的文本和批处理文件
任何人都可以帮助我或指出我正确的方向,甚至知道这是否可以在批处理文件中?或者可能有更好的解决方案呢?
(请记住,我试图使其成为本地服务器,这就是为什么我没有看到webservices)。
答案 0 :(得分: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 (