找重命名工具,替换多个字符串,最好支持正则表达式

如题,字符“AA”重命名“1”、“BB”重命名“2”、字符“CC”重命名“3”……
多个这样的命令一次完成,而不是完成「字符“AA”重命名“1”」后再进行「“BB”重命名“2”」

场景是从pixiv下载的图片,让文件包含了所有标签。pixiv翻译的标签不太满意,遂自己翻译
翻译(重命名)标签想一次完成,一个个去替换太麻烦了
脚本也可行

还有吗?想要更好用的 最好支持正则表达式

ReNamer 强大却不简陋的批量重命名[汉化发布&软件介绍&高阶应用] - 讨论分享 - 小众软件官方论坛 (appinn.net)

这个比较万能,通过导入预设可以很方便正则替换多个字符串

建议用一下这个SoSo文件批量重命名工具,基本是满足你的需求

下载地址:
https://sosotools.lanzouw.com/b015bjrji 密码c90w

ReNamer 替换: |分隔这样就是多个?

[pixiv][2021.08.23][11211325(CORE)][92215766_p0(20歳になったゆるキャン△ガールズ)][1500×1500]['ゆるキャン△', '志摩リン', '犬山あおい', '犬山あかり', '大垣千明', '各務原なでしこ', '斉藤恵那', '土岐綾乃', 'ゆるキャン△1000users入り', '大人化']

这里没生效 符号要转义?

这里的替换还支持正则?

renamer是添加多条规则,每条规则要选倒数第3个正则才是正则支持

多条规则是一次匹配替换的,可以多条组合,可能要分上下顺序
微信截图_20221208141342

是说通过多条规则实现多次替换?

那么不可行,预计未来会有很多条,少说十几条,预计上百条。添加多条规则太麻烦

你正则写的好也可以一次匹配啊,上面只是告诉你正则要选倒数第三的正则,不是替换

写正则不能实现吧

我的需求是 A替换成1,B替换成2,C替换成3……是一一对应的关系

我知道的是,正则能做到多对一,A、B、C……替换成1

Bulk Rename Utility

不用每次都添加,只要做好规则,不管多复杂,保存成预设就好了,每次直接载入预设就哦了。


保存的预设,还会分配快捷键。

不过lite版本好像有限制,不能添加太多规则,得购买pro或者用别的软件

AHK V2

pixivPath := "F:\Documents\Downloads\pixiv" ;搜索文件夹
arr := []
arr.Push(["AA", "1", 0])   ;第一项为搜索,第二项为替换,第三项为0替换,为1正则替换
arr.Push(["BB", "2", 0])
arr.Push(["CC", "3", 0])
arr.Push(["^\d{3,}", "", 1]) ;正则替换最前3个数字为空


loop files pixivPath "\*.*", "FR"
{
    ext := StrLower(A_LoopFileExt)
    if ext == "jpg" || ext == "jpeg" || ext == "png"    ;图片后缀名
    {
        SplitPath(A_LoopFileFullPath, , , , &name)

        nameSave := name
        for i in arr
        {
            if i[3]
                name := RegExReplace(name, i[1], i[2])
            else
                name := StrReplace(name, i[1], i[2])
        }

        if name != nameSave
        {
            try
                FileMove(A_LoopFileFullPath, A_LoopFileDir "\" name "." ext) 
            catch
                FileAppend(A_LoopFileFullPath "`n",A_Desktop "\_命名失败.txt") ;在失败时将地址添加到桌面的_命名失败.txt
        }
    }
}

这是现撸的?(害怕.jpg)

替换字符串有特殊符号怎么办?

[' 替换为 [#
'] 替换为 ]
', ' 替换为 #
加上转义符号\不行,换正则也不行

[pixiv][2016.01.08][73152(光崎)][54611904_p0(ジャンヌ)][1513×1100]['Fate⧸GrandOrder', 'ジャンヌ・ダルク', 'ジャンヌ', 'FGO', 'アルトリア・ペンドラゴン', 'セイバー', 'ジャンヌ・ダルク(Fate)', 'セイバー(Fate⧸staynight)', 'Fate⧸GO50000users入り', 'Fate50000users入り']

没问题呀


arr := []
arr.Push(["['","[#", 0])   ;第一项为搜索,第二项为替换,第三项为0替换,为1正则替换
arr.Push(["']","]", 0])
arr.Push(["', '","#", 0])

str := "[pixiv][2016.01.08][73152(光崎)][54611904_p0(ジャンヌ)][1513×1100]['Fate⧸GrandOrder', 'ジャンヌ・ダルク', 'ジャンヌ', 'FGO', 'アルトリア・ペンドラゴン', 'セイバー', 'ジャンヌ・ダルク(Fate)', 'セイバー(Fate⧸staynight)', 'Fate⧸GO50000users入り', 'Fate50000users入り']"

for i in arr
    str := StrReplace(str,i[1],i[2])

MsgBox(str)
---------------------------
新建 ahk.ahk
---------------------------
[pixiv][2016.01.08][73152(光崎)][54611904_p0(ジャンヌ)][1513×1100][#Fate⧸GrandOrder#ジャンヌ・ダルク#ジャンヌ#FGO#アルトリア・ペンドラゴン#セイバー#ジャンヌ・ダルク(Fate)#セイバー(Fate⧸staynight)#Fate⧸GO50000users入り#Fate50000users入り]
---------------------------
确定   
---------------------------

用 ReNamer 的话,这种场景更适合用批量替换,就是倒数第5个规则"音译" :sweat_smile:
ReNamer 的"音译"就是手动建立一个 AA=1,BB=2 这样的规则表来批量替换,但不支持正则表达式
而且批量替换是根据规则表顺序逐一匹配进行,所以写规则表的时候要注意先长后短
参考这个帖子:


原版的汉化还没改"音译"吗,那要注意下正则表达式的说明介绍,我汉化时发现那里翻译错了 :joy:

1 个赞

何不试试我发的那个呢,用已有规则命名

楼主, 你要的正则表达式.

尤其是A改名B同时B改名A这种. 其他软件都需要二次改名.

仔细看上图里的TAB标签, 包括编码转换, 图片信息修改. 用文件内容更名.

如果改名规则超级复杂, 它还支持 自写脚本语言.

哪怕每个要改的名称都没有规律,还可以导入文本批量改名.

这是只要有改名提问, 我每次力推的软件.

它就是世界上最强大的, 且免费的, 批量重命名工具, 没有之一.

作者已持续维护该软件十几年, 最新版2022年9月发布.

除了软件本身的名称之外, 这个软件基本上没有缺点.

■ 全面支持和兼容XP以上的操作系统,并同时提供功能完全相同的32-bit和原生64-bit版本
■ 绿色单文件软件,不需安装,无需任何支持文件直接使用
■ 支持整合资源管理器右键菜单(ActiveX编程实现,非注册表)
■ 全面支持Unicode,全球语言的文件名或文件信息处理不再是问题
■ 基本文件名变更:功能超乎想象的添加、替换、删除、加序编号、移动和字母大小写,看似简单的基本功能并不简单
■ 高级文件名变更:包括正则表达式、Pascal和Python脚本更名、文件名编辑器、汉字转拼音、文件名编码与解码、数字与汉字的转换、文件名编码格式转换、文件名内码转换、文件名加密解密等重磅功能
■ 扩展名变更:包括智能分析文件获取扩展名等高级扩展名变更在内的各种扩展名变更功能
■ 特定文件文件名变更:包括提取标签给音乐文件批量更名、提取EXIF和IPTC信息给图片文件批量更名、提取多媒体(视频、音频、图像等)文件信息更名、提取摘要或内容给MS Office文档批量更名、提取PDF属性信息给PDF文档批量更名、提取文本属性或内容给文本文件批量更名、提取TrueType字体信息给TrueType字体文件批量更名、提取安卓程序文件信息给APK文件更名、提取Windows程序文件信息给EXE文件更名各大版块
■ 功能极为强大的文件的时间属性和文件属性批量修改版块
■ 特定文件信息批量修改:批量处理包括音乐文件的标签、图片文件的EXIF和IPTC信息、Office文档文件摘要和信息、PDF文件的属性和信息、文本文件的编码格式和内容等
■ 支持提取标签更名和批量修改标签的音乐文件标签种类:各音乐格式自有标签和APE、ID3v1和ID3v2标签;支持音乐格式包括:MP3、APE、FLAC、ASF、WAV、AAC、OGG、MPC、MP4、TTA、AC3、WavPack、OptimFrog、TwinVQ、DSD(DSF、DFF)
■ 支持元变量功能,为更名增添了灵活多变、随心所欲的效果
■ 支持功能强大的文件列表导出功能,可导出为Excel(无需安装Office)、Html、Rtf、Csv、Tsv等格式
■ 支持全程记录每一更名命令操作,可保存和载入操作记录作为更名批处理
■ 支持无限次撤销更名操作,只要没有关闭软件,就可以恢复至最初文件名
■ 支持U盘便携模式,个性配置文件随身带
■ 支持对文件和文件夹的混合更名操作,错综复杂的文件和文件夹相对位置关系绝不是问题
■ 支持强大的智能更名操作,智能解决各种更名冲突的问题,以保证更名结果正确
■ 支持更名操作保存为快照文件功能,以便在需要时恢复此次更名操作
■ 更强大的容错系统以及更贴心的功能提示和示例为用户解惑
■ 强大的过滤功能、强大的文件名编辑器等更多功能不能一一例举,由你自己发掘…

1 个赞

同意上面那个renamer
最差情况自己写pascal脚本啊!无敌。