所以我正在运行一组相当大的文件并通过批量重命名实用程序重命名它们。这个东西允许通过使用 PERL-5 的正则表达式重命名(或者至少它是这么说的)我有一堆当前格式为 [id] - [song name] - [artist] 的文件,需要交换歌曲名称和艺术家。
我用来从文件中获取信息的正则表达式是:
(.*) - (.*) - (.*)
然后重命名:
\1 - \3 - \2
问题是由于某种未知原因,它无法匹配或正确重组名称中包含撇号的某些文件,我不知道为什么。
例子:
CBE4-08-03 - My Lovin' (You're Never Gonna Get It) - En Vogue.zip <-匹配失败
CBE4-08-15 - 黑帮的天堂 - Coolio.zip <-正确匹配和更改
CBE5-22-11 - Little White Duck - Children's Favorites.zip <-匹配,更改为“- Children - Little White Duck.zip”
真正令人气愤的是,有很多次程序用“儿童”这个词重命名文件就好了,但似乎绊倒了其他人。
我知道这不是一个完全编程的问题,它可能只是我正在使用的程序搞砸了一些事情,我只是好奇是否真的有一个我只是想念的原因,如果有一些东西可以很好地了解以备将来使用。感谢您提供任何信息。