2011-06-27 64 views
2

我想知道是否可以使用批處理文件獲取所選文件的屬性。我只找到了能夠做到這一點的winbatch示例。歡迎任何建議。謝謝使用批處理文件獲取文件屬性

+0

您希望獲得哪些屬性? – aphoria

+0

主要作者和標題 – franl

+0

什麼樣的文件(例如Word文檔或任意文件)?你能發表一個關於如何通過GUI訪問這些屬性的截圖嗎? – Helen

回答

2

對於標準的Windows文件屬性,請使用WMIC DATAFILE

某些文件格式(例如ID3頭文件中的.mp3)具有衆所周知的屬性。儘管Explorer中可能會顯示其中的一些,但並非所有這些文件都可通過WMIC DATAFILE獲得。

最後,許多其他自定義文件格式的文檔屬性存儲在外部訪問中並不容易(甚至可能)。

+0

的屬性你能舉一個具體的例子嗎?它似乎不適用於franl要求的擴展屬性。 –

+0

更具體地說,他所要求的內容似乎不屬於wmic數據文件可訪問的屬性的一部分。 –

0

使用VBScript,我能夠從我創建了一個最近的Word 2010文檔顯示最後一個作者和管理者:

Option Explicit 

Const Schema_LastAuthor = "{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 8" 
Const Schema_Manager = "{D5CDD502-2E9C-101B-9397-08002B2CF9AE} 14" 

Dim Shell 
Set Shell = CreateObject("Shell.Application") 

If (Not Shell Is Nothing) Then 

    Dim ThisFolder 
    Set ThisFolder = Shell.NameSpace("YOUR_FOLDER_HERE") 

    If (Not ThisFolder Is Nothing) Then 

     Dim ThisFolderItem 
     Set ThisFolderItem = ThisFolder.ParseName("YOUR_DOCUMENT_HERE") 

     If (Not ThisFolderItem Is Nothing) Then 

      Dim lastAuthor, manager 
      lastAuthor = ThisFolderItem.ExtendedProperty(Schema_LastAuthor) 
      manager = ThisFolderItem.ExtendedProperty(Schema_Manager) 

      WScript.Echo " Document: " & ThisFolderItem.Name 
      WScript.Echo "Last author: " & lastAuthor 
      WScript.Echo " Manager: " & manager 

     End If 

     Set ThisFolderItem = Nothing 

    End If 

    Set ThisFolder = Nothing 

End If 

Set Shell = Nothing 

WScript.Quit 

下面是在Windows產權制度架構documents更多信息。希望這可以幫助!