批量重命名正确文件扩展名的文件

时间:2016-09-17 07:45:40

标签: file-extension batch-rename exiftool

我有一个包含多种类型文件的文件夹(mp4,mp4,jpg,wma .etc),这些文件没有扩展名,或者所有搞乱的扩展名扩展名,如mp3.mp3,mp3.jpg,或者只是文件名。我正在阅读exiftool甚至python magic可用于在理解文件类型时分配正确的文件扩展名。我正在寻找基于exiftool的解决方案,其中这些文件可以使用正确的文件扩展名重命名。

例如 filename(这是mp3文件) filename1.jpg(这是mp3文件,jpg作为文件扩展名) filename.mp3.mp3.mp3(重复扩展名)

1 个答案:

答案 0 :(得分:0)

最简单的,试试这个(如果在Mac / Linux上,将双引号更改为单引号):
exiftool -ext "*" "-testname<%f.$filetype" TargetDir

-r

这将只是添加扩展TargetDir中的所有文件。要递归,请添加exiftool -ext "*" "-filename<${filename;s/(\.(mp3|mp4|jpe?g|png|wma|mov))*($)//i}%-c.$filetype" TargetDir。如果已经有扩展名,则会在假扩展名末尾添加适当的扩展名,例如filename.mp3将成为filename.mp3.jpeg。

对于一个更复杂的版本,剥离了一些以前的虚假扩展,你可以尝试这样的事情:
%-c
这将剥离正则表达式中的中心parens中的扩展。如果生成的重命名将是重复的,-ext将添加一个数字。 filename.jpeg,filename-1.jpeg,... filename-n.jpeg。

编辑:添加了{{1}}选项来处理没有扩展名的文件。