求个按列表批量重命名的批处理

问题:在某个目录下有一批文件夹,文件名有规则为01-101-201-301-401-501-602-102-202-302-402-502-6。。。另外就是有一个A.tx... 问题:

在某个目录下有一批文件夹,文件名有规则为
01-1
01-2
01-3
01-4
01-5
01-6

02-1
02-2
02-3
02-4
02-5
02-6

。。。

另外就是有一个A.txt文件,里面的资料为。
adfsaf 133231 31321321 9879879
gfegef 987987 46546565 3232133
retert 654665 sfsdfsdf werwerw
…………
最后结果就是以A.txt文档内第一列的数据重新命名上面的文件夹,
相对应
01-1改为adfsaf
01-2改为gfegef
以此类推

文件夹个娄与文本内的行数是相等的。
楼下的方法可以实现,不过我想找一个更为直接不用其它干与的批处理,减少手工操作部份,大神们支招了。。。。
展开
 我来答
syht2000
高粉答主

2010-06-30 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
假定你的目录是d:\sample,并且01-1这类文件夹下的下面没有其它文件夹,先进命令提示行用
dir d:\sample /s /b /ad > d:\dir.txt
将目录列表输出至dir.txt

进入Excel,打开a.txt,分隔符号,选中空格,确定后删除后面多出的列,仅留下第一列,然后用记事本打开上面的dir.txt,复制,选中excel中的b1,粘贴

现在A列应该是a.txt的第一列,B列应该是目录名

在C1输入="Ren """&B1& """ """&A1&""""
选中C1到C列的最后一行,比如C1到C100,按Ctrl+D

复制C列数据,在记事本中保存为一个批处理文件,即.bat文件,然后双击运行这个bat

ps:注意最好备备份一下你的以前的数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nefu_20061617
2010-07-01 · TA获得超过2342个赞
知道大有可为答主
回答量:1064
采纳率:72%
帮助的人:1483万
展开全部
::在批处理中,使用类似于数组的变量记录文件夹名和A.txt文件第一列。
@echo off
setlocal enabledelayedexpansion
cd /d D:\新建文件夹 &rem 把这一行中的文件夹改为你的一批文件夹所在目录
set n=0
for /f %%i in ('dir /ad /b /o:n') do (
set /a n+=1
set a!n!=%%i
)
set n=0
for /f %%i in (A.txt) do (
set /a n+=1
set b!n!=%%i
)
for /l %%i in (1,1,%n%) do ren !a%%i! !b%%i!
pause
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yyykkkyyyy
2010-07-01 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3303万
展开全部
呵呵,你这文件夹太有规律了,省事。把批处理、A.txt都放在那一堆文件所在的总文件夹下

@echo off
setlocal enabledelayedexpansion
set m=101
set n=1
set q=0
for /f "tokens=1" %%i in (A.txt)do (
ren !m:~1!-!n! %%i||(
set err=!err! !m:~1!-!n!&&set/a q+=1)
set/a n+=1
if !n!==7 (set n=1&set/a m+=1)
)
if %q% gtr 0 (
echo 下列文件夹可能不存在:
echo %err%
echo 请检查原因,其余已完成重命名
)else echo 已完成重命名
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式