中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 23:41
47,813 主题排行 / 349,918 发帖 / 今日 1 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决] 求:多个html改名的批处理
可打印版本  2,529 / 18
第16楼 bjsh 发表于 2007-04-01 00:22
银牌会员 发帖 621 积分 2,000
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楼 everest79 发表于 2007-04-01 01:11
金牌会员 发帖 1,127 积分 2,564
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楼 slore 发表于 2007-04-01 02:19
铂金会员 发帖 2,478 积分 5,212
你最好把文件传上来……不然情况和格式就不全了。
第19楼 xswdong 发表于 2007-04-01 10:33
中级用户 发帖 129 积分 216
感谢everest79提供的代码,今天运行完全正常,什么原因我也不清楚,难道重起电脑就行了,无法理解,代码效率非常高

bjsh代码试运行了一下,运行第5句是出错,findstr无法打开目录,但最后一个文件被成功改名
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023