寻找一个能自动识别并纠正文件名编码的软件(类似ConvertZ)

(写得又臭又长……总之具体需求在最后一段,抱歉了……)

正如标题所言——扯句题外话,很多时候,我发提问帖总会先纠结帖子标题、试图把自己的问题需求尽量简洁明了完整地在标题里就写清楚,等标题纠结完了又接着纠结帖子内容,因为标题里面已经把我要问的差不多都给讲完了……啧啧。

言归正传。总之文件名编码错误导致文件名乱码这种事情,应该不算少见的,如果你经常接触日本之类地方的文件资源的话更是家常便饭,毕竟不知为何日本人就是钟情于Shift-JIS不放手。

我对付文件名乱码一般都是用一个叫做ConvertZ的软件。不过这个软件似乎是过于古老了,虽然win10下仍然能正常运作,但从——呃——应该说是操作手感吗——上来说,太古老了,有种世纪末格斗传说——对不起说秃噜嘴了——有种世纪末软件的味儿,总的来说,能用,但不好用。

写到这里感觉我再贫下去就没完没了了,所以还是简单点完事儿吧。总之就是,我希望对我手头的大批文件进行一次扫描,从中找出所有文件名编码不正常的文件——包括本来就是乱码的、以及看起来似乎正常但不知为何还是用了其他编码总之不大正常的——并将它们纠正,最好是识别完成后我能手动确认,或者至少能留个log让我复核一下有没有冤枉的。

就这样。在此先行向各位提供帮助的坛友们表示感谢~~

不太清楚这么特定的需求有没有现成的软件,不过提供一个思路吧,可能稍微需要一点编程的知识,如果实在找不到现成的工具的话就试试吧。

首先识别什么上乱码其实还不算太简单,虽然对人而言很简单,但对程序而言就未必了。 不过既然根据你提供的信息,都是Shift-JIS到GBK的乱码的话,那还算有个取巧的办法,日语的文件名感觉上纯汉字的概率应该不高,用五十音转换到中文的乱码(平假名、片假名加起来大概一百来个),以此为基准搜文件名,比如用Everything之类的,把符合的文件列出来,然后手动转换一下乱码,用修改前后的文件名写一个bat脚本就差不多了,大概用正则表达式差不多就可以做到了。

当然我已经说了,这是没有办法的办法,筛选的方法其实很粗糙,实际做起来也挺复杂的,不是特别有需求还是忽略吧。


顺便说一下,文件名出现乱码,以我个人的经验,一般是安装程序或者从压缩包中解压这两种情况,为了避免这种情况还是善用转码软件,最好还是让文件名一开始就是正常的。

1 Like

image

1 Like

感谢回复。

其实我自己解压文件什么的时候还是挺小心的,今天起了彻底消灭文件名编码问题的杀心,主要是在用查重软件检查音乐库的时候,发现一些看起来是完全正常的全中文名的音乐和文件夹居然文件名编码也是错的,导致了智障软件无法识别……这完全是防不胜防嘛。

Linux下似乎有个convmv命令可用……不知道windows上有没有类似的命令或者软件。

打字的时候思考了一下,或许我可以反向利用一下那个查重软件无法识别错误编码文件名的缺陷……或许我可以让它做一次全盘扫描,然后读一读Log,应该就能识别出编码有问题的文件了?

哦豁,有思路了。再次感谢!

感谢回复。

从截图来看,这个软件似乎不能完成自动识别文件名编码和大范围扫描?那样的话可能对我来说效果不是很好。

总之还是非常感谢推荐的~