确定旧 Microsoft Office 文件的文件格式(版本)

Determine the file format(version) for old Microsoft office files

我在我们的一台服务器上有 50k+ .doc 个文件,这些文件是用户自 90 年代初以来积累的。

其中一些文件是在 Macintosh 或非常旧版本的 Word 上创建的。

我确实找到了一个名为 Trid.exe (http://mark0.net/soft-trid-e.html) 的程序,如果我查询 1995 年的文档文件,它告诉我它们是用 MacWrite II 创建的。

如何使用 .NET 做同样的事情?

我想先获取所有文件的报告,以查看正在处理的内容,并将仍需要的文件转换为较新的格式和 delete/archive 不再需要的文件。

Trid 最重要的部分实际上是用 .NET 编写的 - 我会直接与他联系,以他的方式发送捐款,并礼貌地询问他是否可以与您分享他的 .NET 程序集或类似程序。

http://mark0.net/code-tridengine-e.html

如果您删除或放宽您的 .NET 要求,或者在从 .NET 调用另一个进程时不会眨眼,您的选项就会打开,尽管我将测试这些选项的最后工作留给您。

DROID from the UK National Archives is one respected open-source tool for doing this kind of identification and builds on the work of some earlier efforts. It's written in Java, though. One way to invoke it from .NET is with the Process class。可以使用更复杂的方法从 .NET 启动或控制 Java 进程。

还有一些其他可用的开源工具,例如 libmagic 或 Linux 的最新版本中的 file 命令,我不会提供详细信息。

有一些专有引擎也可以工作。我打赌你和 Google 可以解决这些问题,如果你愿意的话。