中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决] 求:多个html改名的批处理
« [1] [2] »
作者:
标题: [已解决] 求:多个html改名的批处理 上一主题 | 下一主题
bjsh
银牌会员





积分 2000
发帖 621
注册 2007-1-1
状态 离线
『第 16 楼』:  



  Quote:
Originally posted by slore at 2007-3-31 11:17 AM:
<html>
<head>
<title>爱在厨房</title>的话,skip掉2行。。。应该比findstr /b "<title>" 它快吧

关键 前面不见得是两行..

比如有些加了 meta 或者没加

有些习惯与 先写 script title写后面等等



其实前面写的那些代码也是有问题的

比如如果
<title>
爱在厨房
</title>

前面的代码也会出错了

[ Last edited by bjsh on 2007-3-31 at 11:23 AM ]

2007-4-1 00:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by xswdong at 2007-3-31 01:23 AM:
什么提示都没有 我加pause也一样 闪一下就退出了
"%a:%b" 是什么意思 能解释一下吗?

我测试了下正常呀
你在批处理中调用记得多加%
%a:%b
这个说不清楚,我给你直接举例,假如D:\1目录下有1.htm;2.htm
findstr "<title> </title>" D:\1\*.htm
执行后回显
D:\1\1.htm:<title>test1</title>
D:\1\2.htm:<title>test2</title>
再将这个结果逐行提交给for
for中定义每行使用:<>这三个字符做为字符分割,tokens=1,2,4定义分别取其中第1\2\4段给变量%a\%b\%c
那么D:\1\1.htm:<title>test1</title>分割后就是
  D   \1\1.htm   title   test1    /title
  1       2            3       4         5
%a    %b                   %c

那么%a=D   %b=\1\1.htm    %c=test1
后边执行的ren "%a:%b" "%c.htm"其实就是
ren "D:\1\1.htm" "test1.htm"

这里有个缺点就是不findstr不支持unicode

2007-4-1 01:11
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 18 楼』:  

你最好把文件传上来……不然情况和格式就不全了。

2007-4-1 02:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xswdong
中级用户





积分 216
发帖 129
注册 2007-2-14
状态 离线
『第 19 楼』:  

感谢everest79提供的代码,今天运行完全正常,什么原因我也不清楚,难道重起电脑就行了,无法理解,代码效率非常高

bjsh代码试运行了一下,运行第5句是出错,findstr无法打开目录,但最后一个文件被成功改名

2007-4-1 10:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: