标题: [文件操作] [已解决]BAT怎样批量修改文件夹名称? [打印本页]
作者: wenlishasha 时间: 2013-2-26 23:30 标题: [已解决]BAT怎样批量修改文件夹名称?
一批文件夹,原文件夹名是中文+拉丁字母,想将文件夹中的拉丁字母放在前,中文放在后
比如:将“Primula sinopurpurea紫花雪山报春”改为“紫花雪山报春Primula sinopurpurea”
求代码
作者: d981830719 时间: 2013-2-27 11:25
楼主 建议你的问题 可以借助excel 这里要有vba的基础,不知道你会不会vba,所以就没跟你讲vba的做法
第一建立一个bat文件读取所有文件夹的名字"dir /b>a.xls"会在当前目录生成一个a.xls文件
第二打开a.xls然后第二列输入你要改的名字
第三在梯第三列输入公式=“ren ”&a1&“ ”&b1 敲回车 然后拖动下拉
第四复制第三列的代码到txt中修改后缀名 这样就是你所需要的
备注:本人才学几天 不过 批处理真的很方便 不懂的可以去我空间看看 http://user.qzone.qq.com/578278547/infocenter我也是才做的这个教程 方便以后忘记了 自己还可以看看的
作者: wenlishasha 时间: 2013-2-27 12:26
回复 2# d981830719
O(∩_∩)O谢谢!!
作者: apang 时间: 2013-2-27 13:17
原文件夹名到底是字母在前,还是中文在前?
中文字符之间有空格没有?中文和字母分界处有空格没有?
作者: wenlishasha 时间: 2013-2-27 14:36
回复 4# apang
没有空格,中文在前
作者: apang 时间: 2013-2-27 15:34
- Set FSO = CreateObject("Scripting.FileSystemObject")
- For Each FD in FSO.GetFolder(".").SubFolders
- Set Re = New RegExp
- Re.Pattern = "^([\u4e00-\u9fa5]+)([a-z ]+)$"
- Re.IgnoreCase = True
- For Each a in Re.Execute(FD.Name)
- FD.Name = a.SubMatches(1) & a.SubMatches(0)
- Next
- Set Re = Nothing
- Next
- MsgBox "OK"
复制代码
保存为test.vbs,与需要改名的文件夹放在一起,试一下
作者: wenlishasha 时间: 2013-2-27 16:38
回复 6# apang
O(∩_∩)O谢谢啦,可以,可惜我不能评分了
能不能改为对所有文件都有效?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |