正しいファイル拡張子を持つファイルを一括で自動的に名前変更します

正しいファイル拡張子を持つファイルを一括で自動的に名前変更します

複数の種類のファイル (mp4、mp4、jpg、wma など) を含むフォルダーがあり、これらのファイルには拡張子がないか、mp3.mp3、mp3.jpg などの混乱した拡張子、またはファイル名のみが付いています。ファイルの種類を理解して正しいファイル拡張子を割り当てるには、exiftool または python magic を使用できると読みました。これらのファイルを正しいファイル拡張子で名前変更できる exiftool ベースのソリューションを探しています。

例: ファイル名 (これは mp3 ファイルです) ファイル名1.jpg (これも mp3 ファイルで、ファイル拡張子は jpg です) ファイル名.mp3.mp3.mp3 (拡張子の繰り返し)

答え1

Irfanviewは画像ファイルの拡張子を自動検出し、名前を変更するように促します。

答え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拡張子のないファイルを処理するオプションを追加しました。

関連情報