![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-26 10:38 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,275 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 以HTM文件中的title部分批量重命名文件(未完美解决) |
| 可打印版本 1,174 / 14 |
| 第1楼 su2353 | 发表于 2007-11-27 16:22 |
| 初级用户 发帖 63 积分 152 | |
|
以HTM文件中的title部分批量重命名文件(未完美解决) 当D:\CNDOS目录下
6546.html aldfj.html adsf.html 执行以下命令: for /f "tokens=1,2,4 delims=<>:" %a in ('findstr "<title> </title>" D:\cndos\*.html') do ren "%a:%b" "%c.htm" 结果: 只有一个文件按要求改成:"(已解决)生成随机数(78),显示结果是78=2+4+8+64.HTML " 另两个失败,保持原文件名 另两个的TITLE分别是:"请教 for /l 语句中的 set /a 问题 ","for 加 set /a 能否实现开方 " 会不会是斜杠"/"引起的,有什么办法解决 代码来源于: http://www.cn-dos.net/forum/viewthread.php?tid=29064&fpage=1&highlight=htm [ Last edited by su2353 on 2007-11-29 at 01:50 PM ] |
|
| 第2楼 ThinKing | 发表于 2007-11-27 17:07 |
| 中级用户 发帖 207 积分 471 | |
|
可以,搜索一下论坛吧,貌似有类似的讨论。
|
|
| 第3楼 su2353 | 发表于 2007-11-27 17:11 |
| 初级用户 发帖 63 积分 152 | |
Originally posted by ThinKing at 2007-11-27 17:07: 请问要用什么关键字搜 |
|
| 第4楼 ThinKing | 发表于 2007-11-27 17:14 |
| 中级用户 发帖 207 积分 471 | |
|
“html”、“替换”、“批量”……
|
|
| 第5楼 su2353 | 发表于 2007-11-27 17:30 |
| 初级用户 发帖 63 积分 152 | |
Originally posted by ThinKing at 2007-11-27 17:14: thanks 用HTML找到 |
|
| 第6楼 su2353 | 发表于 2007-11-29 13:37 |
| 初级用户 发帖 63 积分 152 | |
|
当HTM文件TITLE中有"/"号的时候重命名失败
|
|
| 第7楼 lxmxn | 发表于 2007-11-29 14:00 |
| 版主 发帖 4,938 积分 11,386 | |
|
因为windows文件名命名规则里面不允许文件名含有"/",所以重命名失败,可以重命名之前替换/为其它的字符。
|
|
| 第8楼 su2353 | 发表于 2007-11-29 14:05 |
| 初级用户 发帖 63 积分 152 | |
Originally posted by lxmxn at 2007-11-29 14:00: 那能批量替换 /比如替换成某个字母如 "l" |
|
| 第9楼 lxmxn | 发表于 2007-11-29 14:28 |
| 版主 发帖 4,938 积分 11,386 | |
|
命令行试试这个:
|
|
| 第10楼 su2353 | 发表于 2007-11-29 14:35 |
| 初级用户 发帖 63 积分 152 | |
|
我是这样试的,MS不行
D:\CNdos>for /F "tokens=1,2,4 delims=<>:" %a in ('findstr "<title> </title>" D:\ cndos\*.html') do ( set string=/bin/user echo /=#p ren "%a:%b" "%c.htm" ) D:\CNdos>( set string=/bin/user echo /=#p ren "D:\cndos\001.html" "请教 for /l 语句中的 set /a 问题 .htm" ) /=#p 系统找不到指定的路径。 D:\CNdos>( set string=/bin/user echo /=#p ren "D:\cndos\002.html" "for 加 set /a 能否实现开方 .htm" ) /=#p 系统找不到指定的路径。 |
|
| 第11楼 su2353 | 发表于 2007-11-29 14:37 |
| 初级用户 发帖 63 积分 152 | |
|
我刚接触批处理,可以说是什么都不懂,具体怎么做
完整的代码 |
|
| 第12楼 lxmxn | 发表于 2007-11-29 15:14 |
| 版主 发帖 4,938 积分 11,386 | |
|
试试下面这个,局限性太大了,要求html文件的title标签独处一行:
|
|
| 第13楼 su2353 | 发表于 2007-11-29 20:19 |
| 初级用户 发帖 63 积分 152 | |
Originally posted by lxmxn at 2007-11-29 15:14: |
|
| 第14楼 su2353 | 发表于 2007-11-29 20:33 |
| 初级用户 发帖 63 积分 152 | |
|
set string=!string:/=#!
虽然问题解决,但上面那个是什么意思 告特别是那个冒号":"是什么意思 |
|
| 第15楼 lxmxn | 发表于 2007-11-29 23:55 |
| 版主 发帖 4,938 积分 11,386 | |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |