0

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

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

4

1 回答 1

2

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

exiftool -ext "*" "-testname<%f.$filetype" TargetDir

这将简单地将扩展名添加到 TargetDir 中的所有文件。要递归,请添加-r. 如果已经有扩展名,这将在错误扩展名的末尾添加正确的扩展名,例如 filename.mp3 将变为 filename.mp3.jpeg。

对于剥离一些以前的错误扩展的更复杂的版本,您可以尝试这样的事情:
exiftool -ext "*" "-filename<${filename;s/(\.(mp3|mp4|jpe?g|png|wma|mov))*($)//i}%-c.$filetype" TargetDir
这将剥离正则表达式中中心括号中的扩展。如果生成的%-c重命名是重复的,例如 filename.jpeg、filename-1.jpeg、... filename-n.jpeg,则会添加一个数字。

编辑:添加-ext了处理没有扩展名的文件的选项。

于 2016-09-17T21:01:11.600 回答