测试版下载:https://gitee.com/sysdzw/XRename

开放源代码:https://blog.csdn.net/sysdzw/article/details/6213821

gitee:https://gitee.com/sysdzw/XRename

github:https://github.com/sysdzw/XRename

XRename又称文件文件夹超级重命名工具,可以帮助你快速的将一批文件或者文件夹根据指定的要求重新命名,比如将指定目录下所有文件的文件名中“卷”替换成“册”。此工具最大的特色是可以允许高级用户使用正则表达式设置自己的规则,要处理的文件范围也可以用正则表达式来限定,这样基本就万能了。下面来讲讲XRename的命令及用法吧。

二级命令

1.替换文件名中的字符,语法如下:
replace -dir directory -string string1 -(new|newstring|replacewith) string2 [-type(file|dir|all)[:string3]] [-subdir(yes|no)] [-ignorecase(yes|no)] [-log(yes|no)]

功能说明:将某个目录中的文件或文件夹的名称中的字符按指定规则替换,regexp1和regexp2表示可以使用正则表达式。

参数说明:
具体的参数值建议都加上双引号,因为如果参数值里面有空格的话会影响程序的判断。用正则表达式的话除外,因为它已经用//表示了。
-dir        要处理的目录,也可以写作-path。

-string        要替换的字符串。这里可以用正则表达式,格式为“/regexp/img”,和js脚本中的设置一样,注意它外围不能再加双引号,否则只会被当做普通字符串处理。正则表达式的匹配属性可以在第二个/后面控制,忽略大小写用i,多行匹配用m,匹配所有项用g,因为文件名没有换行的,所以加不加m都是一样的。正则表达式默认匹配属性为“区分大小写”和“非全局匹配”。

-new    替换后的字符串,还可以写作-newstring和-replacewith。如果前面的-string用的正则表达式那么这里可以用“$1”或“$2”这样的分组捕获内容,否则只会被当做普通字符串处理。

-type        要处理的对象的类型,这里共有三种情况。即file(文件),dir(文件夹)以及all(包含前面两者)。默认为file,也就是只处理文件,这个参数后面还可以加上“:”然后指定处理范围。这里可以用正则表达式也可以用普通字符。普通字符的话就是固定一个字符串或者匹配字符串,和windows匹配方式兼容,例如*.txt就是指处理所有txt文件,?就表示单个字符。如果要用正则表达式那么和-string参数使用正则表达式情况的要求一样的。

-subdir      是否需要处理子目录。yes为处理,并且会递归访问子目录,no则不处理子目录。默认为no,表示只处理当前文件夹下的所有文件或者文件夹

-ignorecase    是否忽略字母大小写。yes为忽略,即不区分字母大小写,no则区分。默认为yes,这个在-string使用普通字符串时会用到,如果是用正则表达式的话会由/后面的标记i来决定。

-log        是否输出处理日志,文件名为XRename.log。yes为输出,no则不输出,默认为no,表示不生产log文件。另外如果XRename在处理时发生错误的情况下无论是否指定-log这个参数都会生成一个名为XRename_err.log的文件。

应用范例:
(1)将"c:\movie\"下所有文件的文件名中的"老友记"替换为"friends"
XRename replace -dir "c:\movie\" -string "老友记" -replacewith"friends"

(2)将"c:\movie\"下所有文件的文件名中的空格替换为下划线,并且生成log
XRename replace -dir "c:\movie\" -string " " -replacewith "_" -log yes

(3)将"c:\movie\"下所有以wma为后缀名的文件替换为rmvb后缀名。
XRename replace -dir "c:\movie\" -string "wma" -replacewith "rmvb"

上面的方法可能不保险,因为必须最后是wma的才替换,可以使用正则表达式精确处理:
XRename replace -dir "c:\movie\" -string /(.*?)wma$/ig -replacewith "$1rmvb" 或:
XRename replace -dir "c:\movie\" -string /wma$/ig -replacewith "rmvb"

如果需要进一步缩小范围指定处理wma文件,那么用下面方法:
XRename replace -dir "c:\movie\" -string /wma$/ig -replacewith "rmvb" -type file:"*.wma"
XRename replace -dir "c:\movie\"-string /wma$/ig -replacewith "rmvb" -type file:"/.*\.wma/ig"

2.删除文件名中的字符,语法:
delete -dir directory -string string1 [-type (file|dir|all)[:string3]] [-subdir (yes|no)] [-ignorecase (yes|no)] [-log(yes|no)]

功能说明:将某个目录中的文件或文件夹的名称中的字符按指定规则的删除。此命令实际可用replace命令代替,即替换为空。

参数说明:参考replace功能的参数说明部分。

应用范例:
(1)将"c:\movie\"下所有文件的文件名中的"book"删除
XRename delete -dir "c:\movie\" -string"book"

(2)将"c:\inet\"下所有文件的文件名中的"["和"]"删除,这个应用很典型,例如从ie临时文件夹拷贝出来的文件基本都会带有字符[1]和[2]字样的

XRename delete -dir "c:\inet\" -string /\[|\]/ig

如果要直接把[1]或[2]删除的话,可以用下面的方法,不过可能会引起冲突

XRename delete -dir "c:\inet\" -string /\[\d+\]/ig

3.列出文件名,语法:
listfile -dir directory -string string1 [-type(file|dir|all)[:string3]] [-subdir(yes|no)] [-ignorecase (yes|no)] [-output path]

功能说明:导出某个目录下符合指定规则的文件或文件夹的名称列表。

参数说明:参考replace功能的参数说明部分。其中-output为导出的列表保存的路径,默认为指定目录下的XRename_list.txt文件。

应用范例:
(1)列出"c:\movie\"下所有文件的文件名含有"经典"的文件
XRename listfile -dir "c:\movie\" -string "经典"

(2)列出"c:\movie\"下所有文件的文件名以"经典"二字开头并且以CD1结尾(忽略后缀名)的文件,并将内容导出到"c:\classicMovie.txt"
XRename listfile -dir "c:\movie\" -string /^经典.+?CD1(\.[^\.]*)?/ig -output "c:\classicMovie.txt"

4.删除文件,语法:
delfile -dir directory -string string1 [-type (file|dir|all)[:string3]] [-subdir (yes|no)] [-ignorecase (yes|no)] [-log (yes|no)]

功能说明:删除某个目录下符合指定规则的文件或文件夹。

参数说明:参考replace功能的参数说明部分。

应用范例:
(1)删除"c:\movie\"下所有文件名含有"苍井空"的文件
XRename delfile -dir "c:\movie\" -string "苍井空"

(2)删除"c:\test\"下所有目录名为数字的目录,包含子目录。subdir 表示是否包含子目录
XRename delfile -dir "c:\test\" -string /^\d+$/ -type dir -subdir yes

5.UTF8类型的解码,语法:
utf8rename -dir directory [-type (file|dir|all)[:string3]] [-subdir (yes|no)] [-ignorecase (yes|no)] [-log (yes|no)]

功能说明:将文件名用UTF8编码的文件进行文件名解码,主要应用于对从IE临时文件夹拷贝的文件重命名。

应用范例:

XRename utf8rename -dir "c:\movie\"

6.其他待补充。

另外说明下:
默认要替换的字符即-string后面的实际都是当做正则表达式的,所以某些字符(正则表达式的元字符,也就是关键字符)是需要转义的,假设需要将“.”替换成"-",因为那两个字符在正则表达式中都表示特殊的意思,如果你要替换的字符就是指“.”的话那么需要写成"\."来转义,这个实际是正则表达式的知识了。 还有一个需要特别说明的是,由于所有参数基本都需要用半角双引号引起来,但是你需要替换的字符就是含有双引号怎么办呢?XRename中的方案是用\转义。例如将文件名中双引号删除掉,那么用XRename delete -dir "c:\movie\" -string "\""

sysdzw
16:35 2011-10-13

备注:

2011-3-31 有个函数需要修改:

'得到正则字匹配的所用内容,存放到一个数组中
Private Function regGetStrSubs(strData$, strPattern$)
    Dim s$, v, i%
    reg.Pattern = strPattern
    Set matchs = reg.Execute(strData$)
    If matchs.Count >= 1 Then
        For i = 0 To matchs(0).SubMatches.Count - 1
            s = s & matchs(0).SubMatches(i) & vbCrLf
        Next
    End If
    If s <> "" Then
        s = Left(s, Len(s) - 2)
    Else
        s = "*NULL*"
    End If
   
    regGetStrSubs = Split(s, vbCrLf)
End Function

2011-5-6 更新

*支持utf8文件名编码的反转。 xrename utf8rename即可处理。

*支持相对目录的引用。如果在批处理中使用,那么省略-dir参数即表示处理bat所在的当前目录。

进一步删除后面的[1]

XRename(文件文件夹超级重命名工具)简介相关推荐

  1. 超级文件批量重命名工具

    [转载][小技巧]文件批量重命名,轻松整理文件 (2016-06-11 16:26:00)转载▼ 标签:转载原文地址:[小技巧]文件批量重命名,轻松整理文件作者:信息化教学创新 信息化教学创新团队 停 ...

  2. ogg批量配置_Macos上一款批量文件重命名工具A Better Finder Rename 11

    如何快速批量重命名文件呢?Macos上一款批量文件重命名工具A Better Finder Rename 11. A Better Finder Rename 11 mac​www.macw.com ...

  3. Hitv8 文件批量重命名工具

        本工具用于单文件或批量文件文件名.文件类型扩展名重命名的小工具,欢迎使用! 使用说明: 1.使用拖放方式,将文件拖入列表框即可 2.可以不输文件名,表示文件名不变,只改类型: 类型也可以自已输 ...

  4. 文件夹里子文件夹快速重命名编号技巧

    整理文件,文件夹,有时需要对其进行重命名,按顺序来进行编号,重命名,那么有可以批量操作的方法吗?肯定是有的,那下面用这个文件批量改名高手来的方法来试试吧.一起看操作. 准备工具: 在电脑网址上打开电脑 ...

  5. 批量文件重命名工具:A Better Finder Rename 11 for Mac

    a better finder rename mac中文破解版是mac上一款强大的批量文件重命名工具,可以帮助用户通过应用各种模式快速批量重命名多个文件,a better finder rename ...

  6. HTML文件命名_批量重命名工具

    Rename Us破解版是一款文件批量重命名工具,该软件可以通关命令重命名或者复制多个文件进行修改,文件名可以根据用户所指定的规则进行更改,如更改文件的日期.后缀名等等,命名前的文件可以手动或者按照名 ...

  7. 文件批量重命名工具.exe

    批量重命名.exe,可直接运行,windows10亲测可用,批量前后加字,批量替换字. 比如在此文件夹下的PDF 复制文件所在路径C:\Users\lenovo7\Downloads\Document ...

  8. 文件批量重命名工具,批量修改文件名的实现思路

    在工作中可能会遇到文件数据成果已经制作完成后,遇到文件命名规则变更,需要对大量文件重命名,甚至修改目录结构的.本文介绍利用FME实现文件批量重命名的解决方法. 因为工作实际情况各不相同,文件重命名规则 ...

  9. 真正的全能文件批量重命名工具(命令形式)

    文件批量重命名工具大家都比较熟悉,这种工具虽然没什么技术含量,但是想设计好了非常不容易.功能简单的,几乎没什么用,很多需求都无法实现.功能复杂的,界面异常复杂,让人看到就眼花缭乱.就算号称最强大的文件 ...

最新文章

  1. ISLR线性回归笔记
  2. 用zlib库读取单个压缩文档[转]
  3. Spring Cloud 与 Dubbo 的完美融合之手「Spring Cloud Alibaba」
  4. php跨域请求解决方案_swoft2 -跨域与中间件详解
  5. 使用FiddlerCore来测试WebAPI
  6. mysql 备份成文件的脚本_Mysql自动全量备份脚本
  7. SIEM部署失败的五大原因
  8. AEscripts Fog for Mac - 模拟真实三维体薄雾AE/PR插件
  9. 中国电子学会scratch等级考试四级
  10. BigInt:JavaScript 中的任意精度整数
  11. linux mysql 管理员,Linux管理员-CentOS 7上的MySQL设置
  12. messagedigest 图片加密_MessageDigest的功能及用法(加密解密)
  13. jQuery ajax教程
  14. Python中机器学习模型的几种保存方式
  15. android 多张图片渐变切换控件
  16. golang长连接和短连接的那些事儿
  17. 文件拷贝命令至服务器,远程服务器拷贝文件命令
  18. 时间戳是什么?JS中时间戳的展示
  19. 如何培养一个搞垮公司的项目经理?
  20. vulfocus复现:Log4j2远程命令执行2

热门文章

  1. 基于CAS的单点登录的下载和demo
  2. 00 石锅土鲫鱼项目导语
  3. RAB与RB的关系详解
  4. (已更新)全新商城微信小程序源码支持对接公众号
  5. 糖友秦女士反映时刻注意自己的饮食太痛苦了
  6. PTA 7-60 有志者,事竟成!
  7. dart sqlite 嵌入式数据库 sqflite教程
  8. 微信扫码---进入小程序指定页面(传参)
  9. cad lisp 两侧偏移并删除_cad lisp 两侧偏移并删除_知道这些技巧-轻松攻克CAD所有困难...
  10. 笔记本win10系统连接wifi显示无Internet安全如何解决