中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 03:39
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何给多级目录下的文件批量改名
可打印版本  1,127 / 10
第1楼 rockyuan 发表于 2010-06-20 15:31
初级用户 发帖 21 积分 21
[求助]如何给多级目录下的文件批量改名
假设目录树的结构如下
A1{B2; a.txt } A1 B2 C3 D4都是文件夹。
意思是 A1下包含B2和a.txt,B2下包含C3和 b.txt,C3下包含D4和c.txt. D4只包含d.txt.
(这里的B2 C3 D4 a b c 都是未知的有很多很多)

类似a.txt 不用改名
类似b.txt 改成B2-b.txt
类似c.txt 改成C3-c.txt
类似d.txt 改成D4-d.txt

最后将所有文本文件都移动到A1下。
各位帮忙看下

[ Last edited by rockyuan on 2010-6-20 at 16:28 ]
第2楼 rockyuan 发表于 2010-06-20 16:51
初级用户 发帖 21 积分 21
[求助]如何在文件名前面加前缀。
需要在一批文件夹下面加前缀
如1.txt 改成a_1.txt
2.txt 改成a_2.txt
第3楼 Hanyeguxing 发表于 2010-06-20 17:52
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
移动目录D:\rec下所有子目录中的文件(包括系统或隐藏属性)到D:\rec目录下,并同时改名:

[ Last edited by Hanyeguxing on 2010-6-20 at 17:59 ]
第4楼 Hanyeguxing 发表于 2010-06-20 18:03
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
Originally posted by rockyuan at 2010-6-20 16:51:
需要在一批文件夹下面加前缀
如1.txt 改成a_1.txt
2.txt 改成a_2.txt

已回复:http://www.cn-dos.net/forum/viewthread.php?tid=51677&fpage=1
第5楼 rockyuan 发表于 2010-06-20 18:12
初级用户 发帖 21 积分 21
非常感谢。但是有点缺陷,如果是B2/C3/D4下的文件 到了A1下 其名称是D4-*txt。 能不能改成B2-C3-D4-*.txt
另外想问个类似的问题。
如问题所说的情况,如果现在不想把文件都移到1级目录,而是移动到2级目录,应该怎么改,移动完成后再将所有3 4级目录删除,该怎么做。(原来是提升N级目录,现在提升N-1级)

[ Last edited by rockyuan on 2010-6-20 at 18:24 ]
第6楼 rockyuan 发表于 2010-06-20 18:24
初级用户 发帖 21 积分 21
非常感谢
第7楼 Hanyeguxing 发表于 2010-06-20 18:45
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
Originally posted by rockyuan at 2010-6-20 18:12:
非常感谢。但是有点缺陷,如果是B2/C3/D4下的文件 到了A1下 其名称是D4-*txt。 能不能改成B2-C3-D4-*.txt
另外想问个类似的问题。
如问题所说的情况,如果现在不想把文件都移到1级目录,而是移动到2级目录,应该怎么改,移动完成后再将所有3 4级目录删除,该怎么做。(原来是提升N级目录,现在提升N-1级)

1,那么原来N-1下的文件怎么办?
2,你在要求中没这么说,怎么能算缺陷呢?
3,支持:如果是B2/C3/D4下的文件 到了A1下 其名称是D4-*txt。 能不能改成B2-C3-D4-*.txt

[ Last edited by Hanyeguxing on 2010-6-20 at 18:56 ]
第8楼 rockyuan 发表于 2010-06-20 18:57
初级用户 发帖 21 积分 21
不是缺陷
我没说清楚,言语上的错误不好意思。。

N-1的不用改的。
就是让很多层次的文件,最后形成一个只有A1{B1;B2;B3....Bn}这样。 并且通过文件名能判断出它原来在什么地方。

[ Last edited by rockyuan on 2010-6-20 at 18:59 ]
第9楼 rockyuan 发表于 2010-06-20 19:02
初级用户 发帖 21 积分 21
按照你后面给的代码 我好像应该回答是N+1
第10楼 Hanyeguxing 发表于 2010-06-20 19:12
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
Originally posted by rockyuan at 2010-6-20 19:02:
按照你后面给的代码 我好像应该回答是N+1

具体说是哪些目录,我不能在那里乱猜,最好举例说明
第11楼 rockyuan 发表于 2010-06-20 19:57
初级用户 发帖 21 积分 21
原来的文件
A1
-x1.txt
-B1
-x2.txt
-B2
-x3.txt
-c1
-x4.txt
-c2
-x5.txt
-d1
-x6.txt


现在要转变成这样
A1
-x1.txt
-B1
-x2.txt
-B2
-x3.txt
-c1-x4.txt
-c2-x5.txt
-c2-d1-x6.txt

然后将Cn Dn 这些目录都删除

这样表达行吗

[ Last edited by rockyuan on 2010-6-20 at 20:04 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023