中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]还是特殊符号的过滤问题,用批处理生成网页
作者:
标题: [求助]还是特殊符号的过滤问题,用批处理生成网页 上一主题 | 下一主题
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『楼 主』:  [求助]还是特殊符号的过滤问题,用批处理生成网页

我现在的脚本如下:
@echo off
setlocal

:::eg.:http://192.168.0.60:9080/ReportCenter/frameset?__report=default.rptdesign&__reportxml=/report/xml/4.6.1.xml&condition=null
set "serverIP=http://192.168.0.60:9080"
set "baseUrl=%serverIP%/ReportCenter/frameset?__report=default.rptdesign^&__reportxml=/report/xml/"
set "urlSuffix=^&condition=null"

set "cache=b:"
set "template=B:\make_index\html1.txt"
set "htmlFilenam=%cache%\index.html"

type %template% >%htmlFilenam%
for /r %%i in (*.xml) do call:process %%i

echo ^</body^> >>%htmlFilenam%
echo ^</html^> >>%htmlFilenam%

goto:eof

:process
::::echo %1
echo fn %~n1%~x1
set "xml=%~n1%~x1"
set "url=%baseUrl%%xml%%urlSuffix%"
:::echo "url=%url%"
echo ^<a href="%url%"^>%url%^</a^>^<br/^> >>%htmlFilenam%

goto:eof
遇到的困难就是产生的index网页文件中的链接不对。

不明白为什么在地址部分的还有^符号,而显示部分正常(没有^符号)。

《a href=“地址部分”》显示部分《/a》。
<a href="http://192.168.0.60:9080/ReportCenter/frameset?__report=default.rptdesign^&__reportxml=/report/xml/4.1.10.xml^&condition=null">http://192.168.0.60:9080/ReportCenter/frameset?__report=default.rptdesign&__reportxml=/report/xml/4.1.10.xml&condition=null</a><br/>




探讨批量下载与智能化的下载
2008-5-22 17:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 2 楼』:  

批处理的瓶颈也在于此,特殊字符~



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-5-22 17:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  



  Quote:
@echo off
setlocal

:::eg.:http://192.168.0.60:9080/ReportCenter/frameset?__report=default.rptdesign&__reportxml=/report/xml/4.6.1.xml&condition=null
set "serverIP=http://192.168.0.60:9080"
set "baseUrl=%serverIP%/ReportCenter/frameset?__report=default.rptdesign^&__reportxml=/report/xml/"
set "urlSuffix=^&condition=null"

set "cache=b:"
set "template=B:\make_index\html1.txt"
set "htmlFilenam=%cache%\index.html"

type %template% >%htmlFilenam%
for /r %%i in (*.xml) do call:process %%i

echo ^</body^> >>%htmlFilenam%
echo ^</html^> >>%htmlFilenam%

goto:eof

:process
::::echo %1
echo fn %~n1%~x1
set "xml=%~n1%~x1"
set "url=%baseUrl%%xml%%urlSuffix%"
:::echo "url=%url%"
echo ^<a href=^"%url%^"^>%url%^</a^>^<br/^> >>%htmlFilenam%

goto:eof

[ Last edited by lxmxn on 2008-5-22 at 07:42 PM ]

2008-5-22 19:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 4 楼』:  

非常感谢!

不过还是没有明白原因,我再去查查资料。



探讨批量下载与智能化的下载
2008-5-23 09:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  

因为第一个 %url% 是包含在双引号内的,在双引号的作用下,里面的 ^ 被原样的保留下来,而不是作为转义字符,所以会出现这个问题。

2008-5-23 10:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: