中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 09:06
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何根据文件夹内文本内容修改文件夹名称?
可打印版本  1,001 / 7
第1楼 hhxx 发表于 2009-08-21 11:46
新手上路 发帖 4 积分 4
[求助]如何根据文件夹内文本内容修改文件夹名称?
各位兄台,题目内容如下:

文件夹内有如下一些文件夹



每个文件夹内都有一个bookinfo.dat文件,里面内容格式如下:



批处理文件的目的很简单,将文件夹名称改为bookinfo.dat内的书名,格式为:书名_ss号。

上面罗哩罗嗦的题目描述不知道众位能不能看明白。

我的思路是
1,尝试用dir /AD得到文件夹名称
2,用for将文件夹名分离成两部分,书名(不全的)和ss号码
3,考虑将完整的书名从bookinfo.dat提出来,用for /f可以把书名付给变量。
4,将上述两部分合并成一个批处理。

不知道上述的思路是否正确,尝试了一下午也没搞定,现在有些头脑混乱了。

妄求各位前辈帮忙

[ Last edited by hhxx on 2009-8-21 at 11:47 ]
第2楼 Fair 发表于 2009-08-21 12:45
新手上路 发帖 9 积分 9
可以用dir完全遍历dat文件
然后用place=%~fa:%~nxa=% 得到文件夹的名字 然后改名
第3楼 hhxx 发表于 2009-08-24 12:20
新手上路 发帖 4 积分 4
各位大侠能帮忙写一个吗, 越来越糊涂了.
第4楼 yishanju 发表于 2009-08-24 19:13
银牌会员 发帖 1,357 积分 1,488
打包几个文件夹传上来看看
第5楼 hhxx 发表于 2009-08-24 20:18
新手上路 发帖 4 积分 4
http://upload.cn-dos.net/img/1666.rar

哦,忘记了. 感谢yishanju兄
第6楼 tireless 发表于 2009-08-25 00:50
银牌会员 发帖 1,122 积分 2,025


[ Last edited by tireless on 2009-8-25 at 13:50 ]
第7楼 hhxx 发表于 2009-08-25 07:41
新手上路 发帖 4 积分 4
赞, 太强大了.

遇到个小问题, 因为delims==的原因, 当书名里包含等号(=)时, 上面的bat就不能把书名都改过来了.

[ Last edited by hhxx on 2009-8-25 at 07:46 ]
第8楼 tireless 发表于 2009-08-25 13:59
银牌会员 发帖 1,122 积分 2,025
re 7 楼
已修改 6 楼代码。

如果等号可能在书名开头,用以下代码:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023