Get an Object’s Meta Data
Posted on Tuesday, June 16th, 2009 at 2:30 PM CDT (GMT -0500) by LiveReading meta data in a gadget simply does not work as documented.
While this works:
System.Shell.item.metadata("Dimensions");
This does not:
System.Shell.item.metadata("Width");
The only visible difference is the attribute.
There is a workaround, however. Simply use the attributes defined in the MSDN List of Core Shell Properties. The link is broken; however, I found an alternative, also on MSDN, but I can’t rediscover it.
I have compiled the list last December. Here it is:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | spFeedback.innerHTML += sItem; spFeedback.innerHTML += oItem.name + "<br/>"; spFeedback.innerHTML += "Owner: " + oItem.metadata("Owner") + "<br/>"; var Feedback = "<br />AcquisitionID: " + oItem.metadata("System.AcquisitionID"); Feedback += "<br />ApplicationName: " + oItem.metadata("System.ApplicationName"); Feedback += "<br />Author: " + oItem.metadata("System.Author"); Feedback += "<br />Capacity: " + oItem.metadata("System.Capacity"); Feedback += "<br />Category: " + oItem.metadata("System.Category"); Feedback += "<br />Comment: " + oItem.metadata("System.Comment"); Feedback += "<br />Company: " + oItem.metadata("System.Company"); Feedback += "<br />ComputerName: " + oItem.metadata("System.ComputerName"); Feedback += "<br />ContainedItems: " + oItem.metadata("System.ContainedItems"); Feedback += "<br />ContentStatus: " + oItem.metadata("System.ContentStatus"); Feedback += "<br />ContentType: " + oItem.metadata("System.ContentType"); Feedback += "<br />Copyright: " + oItem.metadata("System.Copyright"); Feedback += "<br />DateAccessed: " + oItem.metadata("System.DateAccessed"); Feedback += "<br />DateAcquired: " + oItem.metadata("System.DateAcquired"); Feedback += "<br />DateArchived: " + oItem.metadata("System.DateArchived"); Feedback += "<br />DateCompleted: " + oItem.metadata("System.DateCompleted"); Feedback += "<br />DateCreated: " + oItem.metadata("System.DateCreated"); Feedback += "<br />DateImported: " + oItem.metadata("System.DateImported"); Feedback += "<br />DateModified: " + oItem.metadata("System.DateModified"); Feedback += "<br />DueDate: " + oItem.metadata("System.DueDate"); Feedback += "<br />EndDate: " + oItem.metadata("System.EndDate"); Feedback += "<br />FileAllocationSize: " + oItem.metadata("System.FileAllocationSize"); Feedback += "<br />FileAttributes: " + oItem.metadata("System.FileAttributes"); Feedback += "<br />FileCount: " + oItem.metadata("System.FileCount"); Feedback += "<br />FileDescription: " + oItem.metadata("System.FileDescription"); Feedback += "<br />FileExtension: " + oItem.metadata("System.FileExtension"); Feedback += "<br />FileFRN: " + oItem.metadata("System.FileFRN"); Feedback += "<br />FileName: " + oItem.metadata("System.FileName"); Feedback += "<br />FileOwner: " + oItem.metadata("System.FileOwner"); Feedback += "<br />FileVersion: " + oItem.metadata("System.FileVersion"); Feedback += "<br />FindData: " + oItem.metadata("System.FindData"); Feedback += "<br />FlagColor: " + oItem.metadata("System.FlagColor"); Feedback += "<br />FlagColorText: " + oItem.metadata("System.FlagColorText"); Feedback += "<br />FlagStatus: " + oItem.metadata("System.FlagStatus"); Feedback += "<br />FlagStatusText: " + oItem.metadata("System.FlagStatusText"); Feedback += "<br />FreeSpace: " + oItem.metadata("System.FreeSpace"); Feedback += "<br />Identity: " + oItem.metadata("System.Identity"); Feedback += "<br />Identity: " + oItem.metadata("System.Importance"); Feedback += "<br />ImportanceText: " + oItem.metadata("System.ImportanceText"); Feedback += "<br />IsAttachment: " + oItem.metadata("System.IsAttachment"); Feedback += "<br />IsDeleted: " + oItem.metadata("System.IsDeleted"); Feedback += "<br />IsEncrypted: " + oItem.metadata("System.IsEncrypted"); Feedback += "<br />IsFlagged: " + oItem.metadata("System.IsFlagged"); Feedback += "<br />IsFlaggedComplete: " + oItem.metadata("System.IsFlaggedComplete"); Feedback += "<br />IsIncomplete: " + oItem.metadata("System.IsIncomplete"); Feedback += "<br />IsRead: " + oItem.metadata("System.IsRead"); Feedback += "<br />IsSendToTarget: " + oItem.metadata("System.IsSendToTarget"); Feedback += "<br />IsShared: " + oItem.metadata("System.IsShared"); Feedback += "<br />ItemAuthors: " + oItem.metadata("System.ItemAuthors"); Feedback += "<br />ItemDate: " + oItem.metadata("System.ItemDate"); Feedback += "<br />ItemFolderNameDisplay: " + oItem.metadata("System.ItemFolderNameDisplay"); Feedback += "<br />ItemFolderPathDisplay: " + oItem.metadata("System.ItemFolderPathDisplay"); Feedback += "<br />ItemFolderPathDisplayNarrow: " + oItem.metadata("System.ItemFolderPathDisplayNarrow"); Feedback += "<br />ItemName: " + oItem.metadata("System.ItemName"); Feedback += "<br />ItemNameDisplay: " + oItem.metadata("System.ItemNameDisplay"); Feedback += "<br />ItemNamePrefix: " + oItem.metadata("System.ItemNamePrefix"); Feedback += "<br />ItemParticipants: " + oItem.metadata("System.ItemParticipants"); Feedback += "<br />ItemPathDisplay: " + oItem.metadata("System.ItemPathDisplay"); Feedback += "<br />ItemPathDisplayNarrow: " + oItem.metadata("System.ItemPathDisplayNarrow"); Feedback += "<br />ItemType: " + oItem.metadata("System.ItemType"); Feedback += "<br />ItemTypeText: " + oItem.metadata("System.ItemTypeText"); Feedback += "<br />ItemUrl: " + oItem.metadata("System.ItemUrl"); Feedback += "<br />Keywords: " + oItem.metadata("System.Keywords"); Feedback += "<br />Kind: " + oItem.metadata("System.Kind"); Feedback += "<br />KindText: " + oItem.metadata("System.KindText"); Feedback += "<br />Language: " + oItem.metadata("System.Language"); Feedback += "<br />MileageInformation: " + oItem.metadata("System.MileageInformation"); Feedback += "<br />MIMEType: " + oItem.metadata("System.MIMEType"); Feedback += "<br />Null: " + oItem.metadata("System.Null"); Feedback += "<br />OfflineAvailability: " + oItem.metadata("System.OfflineAvailability"); Feedback += "<br />OfflineStatus: " + oItem.metadata("System.OfflineStatus"); Feedback += "<br />OriginalFileName: " + oItem.metadata("System.OriginalFileName"); Feedback += "<br />ParentalRating: " + oItem.metadata("System.ParentalRating"); Feedback += "<br />ParentalRatingReason: " + oItem.metadata("System.ParentalRatingReason"); Feedback += "<br />ParentalRatingsOrganization: " + oItem.metadata("System.ParentalRatingsOrganization"); Feedback += "<br />ParsingBindContext: " + oItem.metadata("System.ParsingBindContext"); Feedback += "<br />ParsingName: " + oItem.metadata("System.ParsingName"); Feedback += "<br />ParsingPath: " + oItem.metadata("System.ParsingPath"); Feedback += "<br />PerceivedType: " + oItem.metadata("System.PerceivedType"); Feedback += "<br />PercentFull: " + oItem.metadata("System.PercentFull"); Feedback += "<br />Priority: " + oItem.metadata("System.Priority"); Feedback += "<br />PriorityText: " + oItem.metadata("System.PriorityText"); Feedback += "<br />Project: " + oItem.metadata("System.Project"); Feedback += "<br />ProviderItemID: " + oItem.metadata("System.ProviderItemID"); Feedback += "<br />Rating: " + oItem.metadata("System.Rating"); Feedback += "<br />RatingText: " + oItem.metadata("System.RatingText"); Feedback += "<br />Sensitivity: " + oItem.metadata("System.Sensitivity"); Feedback += "<br />SensitivityText: " + oItem.metadata("System.SensitivityText"); Feedback += "<br />SFGAOFlags: " + oItem.metadata("System.SFGAOFlags"); Feedback += "<br />SharedWith: " + oItem.metadata("System.SharedWith"); Feedback += "<br />ShareUserRating: " + oItem.metadata("System.ShareUserRating"); Feedback += "<br />OmitFromView: " + oItem.metadata("System.Shell.OmitFromView"); Feedback += "<br />SimpleRating: " + oItem.metadata("System.SimpleRating"); Feedback += "<br />Size: " + oItem.metadata("System.Size"); Feedback += "<br />SoftwareUsed: " + oItem.metadata("System.SoftwareUsed"); Feedback += "<br />SourceItem: " + oItem.metadata("System.SourceItem"); Feedback += "<br />StartDate: " + oItem.metadata("System.StartDate"); Feedback += "<br />Status: " + oItem.metadata("System.Status"); Feedback += "<br />Subject: " + oItem.metadata("System.Subject"); Feedback += "<br />Thumbnail: " + oItem.metadata("System.Thumbnail"); Feedback += "<br />ThumbnailCacheId: " + oItem.metadata("System.ThumbnailCacheId"); Feedback += "<br />ThumbnacilStream: " + oItem.metadata("System.ThumbnacilStream"); Feedback += "<br />Title: " + oItem.metadata("System.Title"); Feedback += "<br />TotalFileSize: " + oItem.metadata("System.TotalFileSize"); Feedback += "<br />Trademarks: " + oItem.metadata("System.Trademarks"); |
As you have guessed, Feedback is a string that contains the metadata; oItem is a System.Shell.item object; spFeedback is the ID of a div.
Why do I not say to get the metadata of a file, but an object? The method can read shell items ranging from a drive in Computer to an archived document in WinRAR.