中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-09-24 22:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决] 求:多个html改名的批处理 查看 2,524 回复 18
16 发表于 2007-04-01 00:22 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
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 ]
17 发表于 2007-04-01 01:11 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
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
18 发表于 2007-04-01 02:19 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
你最好把文件传上来……不然情况和格式就不全了。
19 发表于 2007-04-01 10:33 ·  中国 黑龙江 牡丹江 电信
中级用户
★★
积分 216
发帖 129
注册 2007-02-14 07:26
19年会员
UID 79469
性别 男
状态 离线
感谢everest79提供的代码,今天运行完全正常,什么原因我也不清楚,难道重起电脑就行了,无法理解,代码效率非常高

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