标题: 批处理问题:怎样在html文档中插入css链接?
[打印本页]
作者: linjuming
时间: 2009-8-15 04:46
标题: 批处理问题:怎样在html文档中插入css链接?
求高手写一bat批处理。
index.html所在文件夹:d:\index.html
请问如何在
<head>
....................
</head>
标签里面(即在</head>的上一行)插入
<link href="templets/style/index.css" type="text/css" rel="stylesheet"/>
得到
<head>
.....................
<link href="templets/style/index.css" type="text/css" rel="stylesheet"/>
</head>
然后保存替换index.html?
------------------------------------------
index.html中的head标签代码范例:
<head>
<meta http-equiv="Content-Type" c>
<meta http-equiv="X-UA-Compatible" c>
<title>韩国门户网| HANGUOMALL.NET - 韩国服饰、时尚、娱乐最前沿</title>
<meta name="description" c>
<meta name="keywords" c>
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="Bookmark" href="http://www.hanguomall.net/favicon.ico">
<link rel="stylesheet" type="text/css" href="index.css" media="all">
</head>
作者: yishanju
时间: 2009-8-15 04:55
fr -ric:"<head>(.*)</head>" -t:"<head>\1<link href=\"templets/style/index.css\" type=\"text/css\" rel=\"stylesheet\"/></head>" index.htm
FR 下载
http://baiy.cn/utils/fr/index.htm
作者: linjuming
时间: 2009-8-15 05:08
不能直接用批处理文件实现啊?必须要下载那个fr?
作者: yishanju
时间: 2009-8-15 08:39
精确可靠完成想要做的事情就可以,何必在意是不是要下载一个工具。
问'不能直接用嘴吃饭啊?必须要用筷子、勺子?
答、可以,手抓饭。。。
作者: netbenton
时间: 2009-8-15 09:07
同意楼上的观点。
作者: linjuming
时间: 2009-8-15 11:15
怎么使用啊,是不是吧fr.exe放到index.htm同一个文件夹下面,然后建立一个bat文件,把你的代码复制进去保存就行拉?
我这样做,结果index.htm完全没变过,为什么
作者: yishanju
时间: 2009-8-15 15:29
也许是文件编码不对吧
传个文件上来看看
作者: linjuming
时间: 2009-8-16 00:16
字符是ansi的,附件中有index.html 和b.bat两个文件
http://upload.cn-dos.net/img/1657.zip
作者: yishanju
时间: 2009-8-16 06:17
fr -rnnlic:"<head>(.*)</head>" -t:"<head>\1<link href=\"templets/style/index.css\" type=\"text/css\" rel=\"stylesheet\"/>\r\n</head>" index.html
因为从<head>到</head> 之间的内容不在同一个行,需要用跨行正则表达式
FR参数改成-RNNLIC 就行了,表示使用跨行正则表达式,并不区分大小写
[
Last edited by yishanju on 2009-8-16 at 06:18 ]
作者: linjuming
时间: 2009-8-16 06:45
谢谢,挺好用的。
作者: linjuming
时间: 2009-8-16 06:54
请问\1是什么意思,是不是代表之前的(.*)?
如果是\2呢?
作者: yishanju
时间: 2009-8-16 12:28
我也看到太多专门的说明,还没完全理解,我这里说的可能不对
用括号()括起来的是正则表达式子表达式,\1 表示第一个正则表达子表达式匹配的内容,也就是第一括号中的表达的内容。\2就是第二个,以此类推。
作者: qinchun36
时间: 2009-8-16 23:17
@echo off
for /F "delims=" %%i in (index.html) do (
for /F "delims= " %%j in ("%%i") do (
if %%j==^</head^> echo ^<link href="templets/style/index.css" type="text/css" rel="stylesheet"/^>>>tmpindex.html
)
echo %%i>>tmpindex.html
)
del /F /Q index.html
ren tmpindex.html index.html
由于 echo 后面只跟空白的话会显示 echo 的状态,因此你的网页中不能有只包含空格、tab制表符的行,可以是回车那样的空行。
[
Last edited by qinchun36 on 2009-8-16 at 23:49 ]