中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 07:04
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批处理以一定规则批量重命名HTML文件
可打印版本  729 / 8
第1楼 w1314ich 发表于 2009-02-04 11:05
中级用户 发帖 119 积分 234
[求助]批处理以一定规则批量重命名HTML文件
有一批HTML文件需要重命名,命名的规则是:读取HTML内容中的
<title>aaa</title>中的aaa,然后以aaa命名此HTML文件,应该如何实现
第2楼 w1314ich 发表于 2009-02-04 13:35
中级用户 发帖 119 积分 234
自己顶下~~~~~~~~~~
第3楼 yishanju 发表于 2009-02-04 15:21
银牌会员 发帖 1,357 积分 1,488
for findstr 切分截取处理字符串,然后ren 重命名
第4楼 w1314ich 发表于 2009-02-04 15:25
中级用户 发帖 119 积分 234
能详细点吗 大哥
第5楼 yishanju 发表于 2009-02-04 15:34
银牌会员 发帖 1,357 积分 1,488
Originally posted by w1314ich at 2009-2-4 15:25:
能详细点吗 大哥


这话我也想对你说

你敢把HTML 文件的内容贴一份上来么
第6楼 BaseCoder 发表于 2009-02-04 16:02
初级用户 发帖 13 积分 20
第7楼 zhengqian529 发表于 2009-02-04 17:38
初级用户 发帖 93 积分 100 来自 湖南
如果<title></title>之间的标题里面包含<>字符呢? 楼上的可以修改一下吗?
第8楼 zhengqian529 发表于 2009-02-04 18:24
初级用户 发帖 93 积分 100 来自 湖南
@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楼 zhengqian529 发表于 2009-02-04 18:32
初级用户 发帖 93 积分 100 来自 湖南
上面代码有一点不好,刚才看了一下就是如果有空格,就会有问题,代码改为:
@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
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023