2015-11-05 62 views
0

我需要一个列表(在Windows 7中)作为Word文档的csv文件,显示一个目录中的页面和单词的数量。我希望使用一种方法,我不必打开这些文件,因为有很多,但是我找到的所有脚本都会打开文件来查看这些信息。从多个Word文件中获取页面和字数而不打开它们

所以,我基本上需要的是这个列表为CSV文件:

A list of files in a directory with attributes

是否有足够的办法做到这一点,最好用命令行?我已经试过这一点,但我不知道是否有可能得到的文件所需的信息吧:

powershell "Get-ChildItem -Recurse c:\directory\to\scan\ | ForEach-Object {$_ | add-member -name "Owner" -membertype noteproperty -value (get-acl $_.fullname).owner -passthru} | Sort-Object fullname | Select FullName,CreationTime,LastWriteTime,Length,Owner | Export-Csv -Force -NoTypeInformation c:\folder\to\directory.csv" 

Source

+0

答案取决于要查询的文档的文件格式。这些是旧的* .doc格式还是docx/docm格式?他们是密码保护和/或加密? –

+0

嗨辛迪!没有加密或密码保护,但我想知道对新文件和旧格式文件执行此操作的最佳方法。 – tualinda

回答

0

对于Word 2007和更高版本,可以直接访问Office Open XML文档(密码/加密除外)。这些文件是包含多个定义文档内容的XML(有时是二进制)文件的“zip包”。除了二进制文件(OLE对象,宏)之外,这些文件是人类可读的,其内容在可从ECMA网站下载的ECMA文档中描述。 Open XML SDK可以使这些文件更简单。

您正在查找的信息将存储在文件中,但您需要注意它可能不准确,尤其是页数。这是总是根据当前打印机设置的页面布局动态计算的。当文档关闭并且保存的值可能不适用于打开文档的下一个配置时,Word可能不会保存它。

信息保存在文档的扩展属性XML部分; Open XML SDK的文档位于:https://msdn.microsoft.com/en-us/library/documentformat.openxml.extendedproperties(v=office.14).aspx

至于较旧的二进制文件格式,您可能不太运气。二进制文件格式现在是公开的,但我不确定它保存了这些信息。您可以在MSDN上找到更多信息 - https://msdn.microsoft.com/en-us/library/office/gg615596(v=office.14).aspx - 还有一个“Open specifications”MSDN论坛,您可以在其中提问。

相关问题