中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 06:04
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理以一定规则批量重命名HTML文件 查看 728 回复 8
楼 主 [求助]批处理以一定规则批量重命名HTML文件 发表于 2009-02-04 11:05 ·  中国 上海 华为云
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
有一批HTML文件需要重命名,命名的规则是:读取HTML内容中的
<title>aaa</title>中的aaa,然后以aaa命名此HTML文件,应该如何实现
2 发表于 2009-02-04 13:35 ·  中国 上海 华为云
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
自己顶下~~~~~~~~~~
3 发表于 2009-02-04 15:21 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
for findstr 切分截取处理字符串,然后ren 重命名

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
4 发表于 2009-02-04 15:25 ·  中国 上海 华为云
中级用户
★★
积分 234
发帖 119
注册 2007-04-22 11:09
19年会员
UID 86077
性别 男
状态 离线
能详细点吗 大哥
5 发表于 2009-02-04 15:34 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
Originally posted by w1314ich at 2009-2-4 15:25:
能详细点吗 大哥


这话我也想对你说

你敢把HTML 文件的内容贴一份上来么

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
6 发表于 2009-02-04 16:02 ·  中国 江苏 苏州 电信
初级用户
积分 20
发帖 13
注册 2009-01-05 14:58
17年会员
UID 135829
性别 男
状态 离线

@echo off
for /f "delims=" %%a in ('dir/b *.html') do (
for /f "delims=<> tokens=2" %%i in ('findstr /i "<title>.*</title>" %%a') do (
ren "%%a" "%%i.html"
)
)
pause
7 发表于 2009-02-04 17:38 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
如果<title></title>之间的标题里面包含<>字符呢? 楼上的可以修改一下吗?
8 发表于 2009-02-04 18:24 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
@echo off
Setlocal EnableDelayedExpansion

for /f "delims=" %%a in ('dir /b *.htm') do (
if exist "%%a" (
for /f %%b in ('findstr /i "\<title\>.*\<\/title\>" %%a') do (
set var=%%b
ren "%%a" "!var:~7,-8!.htm"
)
)
)
Endlocal
pause
9 发表于 2009-02-04 18:32 ·  美国 华盛顿州 金 雷德蒙德 Microsoft
初级用户
★★
积分 100
发帖 93
注册 2009-01-14 15:04
17年会员
UID 136661
性别 男
来自 湖南
状态 离线
上面代码有一点不好,刚才看了一下就是如果有空格,就会有问题,代码改为:
@echo off
Setlocal EnableDelayedExpansion

for /f "delims=" %%a in ('dir /b *.htm') do (
if exist "%%a" (
for /f “delims=” %%b in ('findstr /i "\<title\>.*\<\/title\>" %%a') do (
set var=%%b
ren "%%a" "!var:~7,-8!.htm"
)
)
)
Endlocal
pause
论坛跳转: