2015-11-05 55 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論壇,您可以在其中提問。

相關問題