![如何在 Windows 中使用 ExifTool 为多个文件添加缺失的文件扩展名](https://linux22.com/image/1509112/%E5%A6%82%E4%BD%95%E5%9C%A8%20Windows%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20ExifTool%20%E4%B8%BA%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6%E6%B7%BB%E5%8A%A0%E7%BC%BA%E5%A4%B1%E7%9A%84%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D.png)
我只丢失了几千个 .docx 和 .pdf 文件的文件名末尾的文件扩展名。那么如何使用 ExifTool 将它们批量附加到现有文件名的末尾?
注意 1. 文件没有被改变,只是文件扩展名丢失了。我可以通过将文件逐个拖放到 ExifTool.exe 上来查看文件的文件类型,但这实在是太耗时了。
注 2. 我正在使用 Windows,因此我需要它的 Windows 版本。
谢谢
答案1
编辑: Brian Murphy 的答案是这个问题的更好答案。它至少需要 Exiftool 版本 9.93。对于 Windows CMD,将单引号更改为双引号(PowerShell 可以按原样使用它)。
试试这个。替换DIR
为目标目录:
exiftool "-filename<$filename.$filetype" -r -ext "*" DIR
-filename
要复制到的目标“标签”,在本例中它将改变文件的名称。
<
表示正在复制标签。
$FileName.$FileType
重新创建文件名,采用当前文件名$FileName
,添加一个点.
,然后采用 Exiftool 认为的文件类型$FileType
并将所有内容复制到上述目标标签。
-r
递归到子目录,如果不需要可以删除。
-ext "*"
通常情况下,Exiftool 不会读取没有扩展名的文件,因为它们不被视为受支持的文件类型。这将覆盖此设置。
答案2
对于 Windows,命令行用于在文件扩展名不存在的地方附加文件扩展名(使用免费下载的实用程序 ExifTool):
exiftool -r '-filename<$filename.$filetypeextension' -ext . <yourdir>
-r
用于递归操作所有子目录的可选开关
'-filename<$filename.$filetypeextension'
从 exif 元数据中复制现有的 file_name & "." & file_type_extension 并更新文件名
-ext .
仅对没有扩展名的文件执行
<yourdir>
用您的目录名称替换