检查没有.xls扩展名的Excel文件

问题描述 投票:0回答:3

有没有办法在不查看扩展名的情况下查询文件以查看它是否是Excel文档?

我有一种情况需要将大量文件转换为PDF(从Excel和Word)。在某些情况下,我发现使用.doc扩展名保存的文件,但实际上是Excel文件。我已将一些重命名为.xls,它们在Excel中启动得很好。它们出现在查找器中作为Word 95文档,我想因为它们是二进制文件并且具有.doc扩展名。

Excel中是否有一些标准的标题或文本可以在字符串中搜索(在powershell中)以区分错误命名的文件。

excel powershell
3个回答
0
投票

如果您有最新版本的xl和word文件,它们实际上只是.zip文件。您可以使用自己喜欢的PKZip阅读器并尝试打开它们。如果有XL文件夹或WORD文件夹,那么这似乎表示内容类型。您可以通过将其重命名为.zip并打开它们来轻松检查其他office文件类型。只是不要忘记重命名它们。如果前两个字符是PK,通常可以告诉它是.zip文件。


0
投票

根据Wikipedia的说法,遗留的2007年前Office文档(doc,xls,ppt,msg)的神奇数字是D0 CF 11 E0 A1 B1 1A E1。此编号将位于文件的开头。文件格式本身也有an article,包括头部结构。

这种格式也被用于some other files in Windows,在做出假设时要小心。


0
投票

您可以在文件上使用Get-contents,看看它是否包含标签“[Content_Types] .xml”

Get-content "C:\Files.doc" -match "[Content_Types].xml"

我只是在记事本中打开了一堆Excel文档,它们似乎都包含这些行

PK Somerandomgarbage
    [Content_Types].xml morerandomgarbage
© www.soinside.com 2019 - 2024. All rights reserved.