.net 确定旧Microsoft office文件的文件格式(版本)

.net 确定旧Microsoft office文件的文件格式(版本),.net,file,ms-office,office-interop,.net,File,Ms Office,Office Interop,我在我们的一台服务器上有50k+.doc文件,这些文件是用户自90年代初以来积累的 其中一些文件是在Macintosh上创建的,或者是在非常旧的Word版本上创建的 我试图在Word中查看元数据,但运气不佳 我尝试使用.NET Interop for Word并打开文档查看可用属性。没有什么东西向我扑来 我尝试使用FileInfo处理一系列文件,但运气不佳 我确实找到了一个名为Trid.exe()的程序,如果我查询1995年的文档文件,它会告诉我它们是用MacWrite II创建的 如何使用

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

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

  • 我试图在Word中查看元数据,但运气不佳

  • 我尝试使用.NET Interop for Word并打开文档查看可用属性。没有什么东西向我扑来

  • 我尝试使用
    FileInfo
    处理一系列文件,但运气不佳

我确实找到了一个名为
Trid.exe
()的程序,如果我查询1995年的文档文件,它会告诉我它们是用MacWrite II创建的

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


我想先得到一份所有文件的报告,看看我们在处理什么,并将仍然需要的文件转换成新的格式,删除/归档不再需要的文件。

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

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

来自英国国家档案馆(UK National Archives)是一个受人尊敬的开放源码工具,用于进行此类识别,并建立在一些早期工作的基础上。不过,它是用Java编写的。从.NET调用它的一种方法是使用。可以使用更复杂的方法从.NET启动或控制Java进程

还有一些其他的开源工具可用,比如
libmagic
或Linux最新版本中的
file
命令,我将不详细介绍这些工具


也有一些专有引擎可以工作。如果你愿意的话,我打赌你和谷歌可以把这些信息整理出来。

这似乎很简单,我可以找到其他人来查找相同的信息。如果没有其他人回应,我将与该网站上的马克交谈。谢谢Spirulence!我已经用另一个工具更新了我的答案,如果您放宽.NET要求,您可能会使用这个工具。祝这个项目好运!我很感激你的回答。我可以使用Trid应用程序的流程,一次解析一个文件的输出。这不会很漂亮,但它应该会起作用。希望有一个.NET解决方案,但如果没有,你已经给了我一些伟大的想法来做这件事!