如何扫描并删除(或恢复)文件夹中损坏的 Word 文档?

如何扫描并删除(或恢复)文件夹中损坏的 Word 文档?

我有一个旧的硬盘,无法使用 TestDisk 恢复文件,所以我改用相簿扫描硬盘来恢复所有我能恢复的文件。

我最终得到了很多似乎已损坏的 Word 文档(.doc 文件)。当我打开它们时,我得到了以下窗口:

有什么方法可以扫描 Word 文档目录,以便最终只留下有效(未损坏)的 Word 文档?这样我就不用逐个打开和检查每个文档了。

更新:

每个 .doc 文件中的前 32 个字节数据是相同的……

D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3E 00 03 00 FE FF 09 00

文件签名D0 CF 11 E0 A1 B1 1A E1告诉我这些是 Microsoft Office 文档。我尝试打开具有以下扩展名的文件之一:DOC、DOT、PPS、PPT、XLA、XLS、WIZ。每次都出现错误。

答案1

您可以使用反词尝试读取DOC文件。您可以获取 Windows 版本从这里

将 Antiword 解压到该文件夹C:\antiword\​​,然后使用命令提示符导航到该文件夹​​。
然后,您可以使用以下命令:

antiword PATH_TO_DOC_FILES\*.doc > tmpfile.txt

DOCAntiword 将输出它能够读取的文件的纯文本内容tmpfile.txt,然后您可以对所需的文件进行排序并删除损坏的文件。

Antiword 的输出可能看起来像这样:

::::::::::::::
文档1.doc
::::::::::::::
                                样本文件 1

这是一个示例 Word 文档。

::::::::::::::
文档2.doc
::::::::::::::
                                样本文件 2

这是另一个示例 Word 文档。

::::::::::::::
損壞文檔.doc
::::::::::::::

::::::::::::::
另一份损坏的文件.doc
::::::::::::::

然后,您可以使用grep或进行一些正则表达式匹配来查找损坏的文档的名称并将其删除。

相关内容