Share via


嗨,Scripting Guy!

Hey,Scripting Guy!

歡迎使用全新的 TechNet 專欄,Microsoft Scripting Guy 會在此為您解答有關系統管理指令碼的常見問題。您有關於系統管理指令碼方面的問題嗎?請將電子郵件傳送到 scripter@microsoft.com。我們無法保證能夠逐一回答每個問題,不過我們會盡力而為。

今天的問題:我要如何寫入文件的註解欄?


我要如何寫入文件的註解欄?

嗨,Scripting Guy!我是否能使用指令碼在檔案的註解欄新增文字?

-- EF

EF,您好。對於不瞭解 EF 所提的問題為何的人,請在 Windows 檔案總管中用滑鼠右鍵按一下文件,然後按一下 [內容]。在出現的對話方塊中,按一下 [摘要] 索引標籤。是否有看到標示為 [註解] 的文字方塊?那就是 EF 想要能用指令碼填入的欄位。

這可能辦得到嗎?事實上這是可能的,只要您移至 Microsoft.com 下載中心,並下載 Dsofile 即可。Dsofile 會安裝新的 COM 物件,以便讓您對文件的摘要資訊欄位進行讀取和寫入。例如,這段指令碼會在文件的 [註解] 欄位中新增 This is a comment 的聰明註解:

Set objPropertyReader = CreateObject("DSOleFile.PropertyReader")
Set objDocument = objPropertyReader.GetDocumentProperties _
    ("C:\Scripts\Test.doc")
objDocument.Comments = "This is a comment."

很流暢吧?您可以用指令碼變更的摘要資訊欄位包括:Author、Category、Comments、Company、Keywords、LastEditedBy、Manager、Subject 和 Title。

而且,您當然也能讀取這些摘要資訊欄位:

Set objPropertyReader = CreateObject("DSOleFile.PropertyReader")
Set objDocument = objPropertyReader.GetDocumentProperties _
    ("C:\Scripts\Test.doc")
Wscript.Echo "App name: " & objDocument.AppName
Wscript.Echo "Author: " & objDocument.Author
Wscript.Echo "Byte count: " & objDocument.ByteCount
Wscript.Echo "Category: " & objDocument.Category
Wscript.Echo "Character count: " & objDocument.CharacterCount
Wscript.Echo "Character count with spaces: " & objDocument.CharacterCountWithSpaces
Wscript.Echo "CLSID: " & objDocument.CLSID
Wscript.Echo "Comments: " & objDocument.Comments
Wscript.Echo "Company: " & objDocument.Company
Set colCustomProperties = objDocument.CustomProperties
For Each strProperty in colCustomProperties
    Wscript.Echo vbTab & strProperty.Name & ": " & strProperty.Value
Next
Wscript.Echo "Date created: " & objDocument.DateCreated
Wscript.Echo "Date last printed: " & objDocument.DateLastPrinted
Wscript.Echo "Date last saved: " & objDocument.DateLastSaved
Wscript.Echo "Has macros: " & objDocument.HasMacros
Wscript.Echo "Hidden slides: " & objDocument.HiddenSlides
Wscript.Echo "Icon: " & objDocument.Icon
Wscript.Echo "Is read only: " & objDocument.IsReadOnly
Wscript.Echo "Keywords" & objDocument.Keywords
Wscript.Echo "Last edited by: " & objDocument.LastEditedBy
Wscript.Echo "Line count: " & objDocument.LineCount
Wscript.Echo "Location: " & objDocument.Location
Wscript.Echo "Manager: " & objDocument.Manager
Wscript.Echo "Multimedia clips: " & objDocument.MultimediaClips
Wscript.Echo "Name: " & objDocument.Name
Wscript.Echo "Page count: " & objDocument.PageCount
Wscript.Echo "Paragraph count: " & objDocument.ParagraphCount
Wscript.Echo "Presentation format: " & objDocument.PresentationFormat
Wscript.Echo "Presentation notes: " & objDocument.PresentationNotes
Wscript.Echo "ProgID: " & objDocument.ProgID
Wscript.Echo "Revision number: " & objDocument.RevisionNumber
Wscript.Echo "Slide count: " & objDocument.SlideCount
Wscript.Echo "Subject: " & objDocument.Subject
Wscript.Echo "Template: " & objDocument.Template
Wscript.Echo "Thumbnail: " & objDocument.Thumbnail
Wscript.Echo "Title: " & objDocument.Title
Wscript.Echo "Version: " & objDocument.Version
Wscript.Echo "Word count: " & objDocument.WordCount

在您詢問之前,我必須表明我們不知道是否有任何作業系統的內建方法能讓您修改摘要資訊欄位。您必須下載 Dsofile 才能執行這類作業。然而,您至少「可能」可以使用 Windows Shell 物件來讀取部份這類資訊。如需詳細資料,請參閱 Microsoft Windows 2000 指令碼指南 (英文) 中的此節。


如需詳細資訊

查看嗨,Scripting Guy!- 過往文件

 

回到頁首 回到頁首