Board logo

标题: 求助:REN命令能否重命名子目录下的文件 [打印本页]

作者: kole     时间: 2007-11-30 19:37    标题: 求助:REN命令能否重命名子目录下的文件

我现在要做个批处理更名的操作,比如ren a.mpg  b.mpg ,其中a.mpg在当前目录下的子目录中,有什么办法让ren查找到下级子目录吗,有什么参数可以加吗,谢谢了。
作者: fastslz     时间: 2007-11-30 19:57
麻烦!!!以后发贴前先搜贴!!!搜下全是答案!!!还一贴多发!!!
作者: kole     时间: 2007-11-30 19:58
不好意思了,新手刚加入的
作者: fastslz     时间: 2007-11-30 20:08
http://www.cn-dos.net/forum/view ... 1&highlight=ren
作者: kole     时间: 2007-11-30 20:11
我想问一下,我要改名的文件有好多,而且在不同的子目录下面,我现在无法确定路径,该怎么操作改名呀
作者: fastslz     时间: 2007-11-30 20:22
要改名的文件有好多!扩展名是什么?目标文件名?
for /f "delims=" %%a in ('dir /s /b /a-d D:\*.mpg') do echo ren "%%a" "文件名"
还可以这样
for /f "delims=" %%a in ('dir /s /b /a-d D:\*.dat') do echo ren "%%a" "%%~na.mpg"
作者: kole     时间: 2007-11-30 20:41
我有个文件列表,对应要改的文件名都在里面,一一对应的,我是数据库软件生成的txt文档,我想做BAT加上ren前缀来批量改名
作者: fastslz     时间: 2007-11-30 20:53
哎不知道怎么说好,掌握点提问技巧
文件列表贴出来吧
作者: kole     时间: 2007-11-30 23:45
不好意思,我也表达不清楚,我把我现在的列表贴上来,希望能者帮忙了。

  REN  SHE--落大雨.*   "落大雨.*"                                                
  REN  SHE--美丽新世界.*   "美丽新世界.*"                                         
  REN  SHE--摩天轮.*   "摩天轮.*"                                                
  REN  SHE--魔力.*   "魔力.*"                                                     
  REN  SHE--你还好不好.*   "你还好不好.*"                                         
  REN  SHE--你快乐我随意.*   "你快乐我随意.*"                                    
  REN  ALIN--爱请问怎么走[扬声].*   "爱请问怎么走.*"                              
  REN  SHE--你太诚实.*   "你太诚实.*"                                             
  REN  MAROON 5--SHE WILL BE LOVE(英语)[扬声].*   "SHE WILL BE LOVE.*"            
  REN  TANK--蟑螂小强.*   "蟑螂小强.*"                                            
  REN  SHE--热带雨林.*   "热带雨林.*"                                             
  REN  SHE--神枪手.*   "神枪手.*"               

这是我要做的批处理改名,以上只是一小部分内容。现在已有一个这样的列表txt文件,可现在要改的文件在不同的子目录里,我用什么办法能批量改呀
作者: fastslz     时间: 2007-12-1 02:15
批处理远比你想像强大的多,只要你给它一点信息和规律它就能达到你意想不到的效果,反之什么都办不到。

你这样是没有规律的重命名方式,只能做些粗重活手动重命名了。
随便说下REN 没有处理子目录参数的

再给你1个例子
for /r D:\ %%a in (*落大雨*.*) do ren "%%a" "落大雨.*"
解释:遍历D盘包括所有子目录包含“落大雨”字符串(且不管前缀是啊猫扩展名啊狗)一律重命名为“落大雨.原扩展名”
还可以写成
for /f "delims=" %%a in ('dir /s /b /a-d D:\*落大雨*.*') do ren "%%a" "落大雨.*"
2条命令同样的效果

多看看置顶教程
作者: kole     时间: 2007-12-1 10:18
非常感谢,我有点理解了,看来批处理功能真强呀,只要你想做的无所不能,看来我要好好学习了。真有用