我编译了一个广泛的批处理脚本,用于从服务器下载rss文件,并将其中引用的图像下载到本地路径。下一步是修改我下载的rss文件中的图像源。 (最终它将用于仅连接到LAN的数字显示解决方案)
我通过调用vbs脚本找到了一种工作方式:
在我的批次中我有:
cscript replace.vbs "rss.cfm" "http://blabla.com/images/thumb" "RSS-script/images/normal"
vbs脚本包含:
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.Write strNewText 'WriteLine adds extra CR/LF
objFile.Close
不幸的是,对于我的数字标牌软件来说,这还不够。什么工作是为图像创建不同的标签。所以我修改了我的脚本来替换一些标签和代码,但由于脚本崩溃的奇怪字符。
所以我需要替换这个相同的字符串:(对于前缀,类似于后缀)
<description><![CDATA[<img src="http://blabla.com/images/thumb
与
<image><url>RSS-script/images/normal
对于后缀,我应该替换.jpg"
与
.jpg</url></image><description><![CDATA[<
我找到了许多解决方案,他们向美国人说每个符号前面的一个插入符号^转义字符,但这对我帮助不大,因为img和src之间也有一个空格。我试过单引号,后引号,没有引号。实际上甚至不知道我在做什么:我的脚本功能仅限于我在这里或ss64.com上找到的基本解释
我原来的rss文件如下所示:
<item>
<title>this is the title of the item</title>
<description><![CDATA[<img src="http://www.blabla.com/images/thumb_xyz.jpg" align="left" hspace="5" vspace="5" alt="picture 1" title="description title" width="200">
<p>
STORY CONTENT
</p>
]]></description>
<pubDate>Tue, 19 Nov 2013 18:15:38 +0100</pubDate>
<category>HEADLINES</category>
</item>
我的最终结果应该是:(经过测试和运作)
<item>
<title>this is the title of the item</title>
<image><url>RSS-script/images/normal_xyz.jpg</url></image>
<description><![CDATA[< align="left" hspace="5" vspace="5" alt="picture 1" title="description title" width="200">
<p>
STORY CONTENT
</p>
]]></description>
<pubDate>Tue, 19 Nov 2013 18:15:38 +0100</pubDate>
<category>HEADLINES</category>
</item>
感谢您提供的任何帮助,感谢抱歉。至少我认为所有信息都在这里..
维克
答案 0 :(得分:0)
这将修改file.rss
中的示例RSS源,并将其重定向到file2.rss
。
这使用了来自 - https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat
的名为repl.bat
的帮助程序批处理文件
将repl.bat
放在与批处理文件相同的文件夹中或放在路径上的文件夹中。
@echo off
type "file.rss" |repl "(.*<!\[CDATA\[<)img src=\x22.*\/thumb_(.*\.jpg)\x22(.*)" "<image><url>RSS-script/images/normal_$2</url></image>\r\n$1$3" x >"file2.rss"