[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]BAT怎样批量修改文件夹名称?

一批文件夹,原文件夹名是中文+拉丁字母,想将文件夹中的拉丁字母放在前,中文放在后
比如:将“Primula sinopurpurea紫花雪山报春”改为“紫花雪山报春Primula sinopurpurea”
求代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

楼主 建议你的问题 可以借助excel   这里要有vba的基础,不知道你会不会vba,所以就没跟你讲vba的做法
第一建立一个bat文件读取所有文件夹的名字"dir /b>a.xls"会在当前目录生成一个a.xls文件
第二打开a.xls然后第二列输入你要改的名字
第三在梯第三列输入公式=“ren ”&a1&“ ”&b1 敲回车 然后拖动下拉
第四复制第三列的代码到txt中修改后缀名 这样就是你所需要的

备注:本人才学几天 不过 批处理真的很方便 不懂的可以去我空间看看 http://user.qzone.qq.com/578278547/infocenter我也是才做的这个教程 方便以后忘记了 自己还可以看看的

TOP

回复 2# d981830719


    O(∩_∩)O谢谢!!

TOP

原文件夹名到底是字母在前,还是中文在前?

中文字符之间有空格没有?中文和字母分界处有空格没有?

TOP

回复 4# apang


    没有空格,中文在前

TOP

  1. Set FSO = CreateObject("Scripting.FileSystemObject")
  2. For Each FD in FSO.GetFolder(".").SubFolders
  3.    Set Re = New RegExp
  4.    Re.Pattern = "^([\u4e00-\u9fa5]+)([a-z ]+)$"
  5.    Re.IgnoreCase = True
  6.    For Each a in Re.Execute(FD.Name)
  7.       FD.Name = a.SubMatches(1) & a.SubMatches(0)
  8.    Next  
  9.    Set Re = Nothing
  10. Next
  11. MsgBox "OK"
复制代码
保存为test.vbs,与需要改名的文件夹放在一起,试一下
1

评分人数

TOP

回复 6# apang


    O(∩_∩)O谢谢啦,可以,可惜我不能评分了
能不能改为对所有文件都有效?

TOP

返回列表