The Windows shell has several hundred file properties that each have an index and a name. If one knows the index of a property, its value can be accessed for a specific file using the following code in VBA:
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.Namespace((sPath)) ' The double parens are not a typo. They are necessary for unknown reason.
vPropertyValue = oFolder.GetDetailsOf(oFolder.ParseName(sFilename), nPropertyIndex)
But what are these properties that are available for easy inspection? Microsoft doesn't seem to want us to know because in every major version of Windows (i.e., XT, 7, 11, etc.), the list of properties and their indices change. There's an old document online that gives the indices and names for five versions of Windows from 2000 to 8. For Windows 11, I had to dig them out myself by running a little procedure with code provided in an old SO answer:
Function sFileProp_Shell_Get(Optional nCode As Integer = -1)
' Get the value of a shell file property, or a list of all of them.
' Adapted from "https://stackoverflow.com/questions/1674134/detecting-the-version-and-company-name-of-an-exe-using-jscript/2067780#2067780"
Dim oShell As Object, oFolder As Object, nCount As Integer, sRetVal As String
Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.Namespace("C:")
sRetVal = ""
If (nCode <> -1) Then
sRetVal = oFolder.GetDetailsOf(Null, nCode)
Else
For nCount = 0 To 500
sRetVal = sRetVal + IIf(nCount = 0, "", "||") & (nCount & ": " & oFolder.GetDetailsOf(Null, nCount))
Next
End If
sFileProp_Shell_Get = sRetVal
End Function ' sFileProp_Shell_Get()
The purpose of this question is to provide the answer with the result of running that procedure with no argument.
Running the procedure indicated in the question on indices ranging from zero to 500 yielded names for 310 properties with indices ranging from zero to 322. Based on that, the file properties in the Windows 11 shell are given in the table below.
Don't get too excited about finding volumes of information hidden in your files. On inspecting some files, the vast majority of the property values have been found to be empty. But still, I did find some information that I didn't know was available.
There is more information that is not available here:
Not all these data are stored in the files themselves, and some of them are not actually properties of the files. There are four possible sources for the values reported for these properties:
Title
, Subject
, Comments
, and Copyright
.Name
, Date modified
, Attributes
, and File location
.Size
and Width
.Computer
name, Total size
of disk storage, and Space free
.Something strange to report: The property names in the table were obtained from running the procedure in the question on Feb. 13, 2024. But when I ran it again on Feb. 27, I got 308 names, not 310. All the 308 are the same as before, but there are now no names reported for indices 321 and 322. If people are reading this, it would be interesting if you run the procedure and say in the comments if you get the same results as in the table, or any differences.
More information: On Feb. 28, I checked the column selector for File Explorer (right-click in column header, then click on "More"; dialog box titled "Choose Details"). I collected all the column names listed (by scrolling down 20 times, saving each display image, and OCRing them all). The result: 308 property names with 1:1 correspondence with the 308 shell properties indexed from 0 to 320, including those that appear in duplicate (Masters keywords
, 35 and 36) or triplicate (Status
, 148, 149, and 304).
And now -- drum roll -- the properties:
Index | Property | Note |
---|---|---|
0 | Name | |
1 | Size | Value is string of form "<#> <unit>", where "<unit>" is kb, Mb, etc. For numeric value in bytes, use the file system property. |
2 | Item type | |
3 | Date modified | Value is numeric, but only to the minute. For value to the second, use the file system property. |
4 | Date created | Value is string of form "yyyy mm dd hh:nn". For numeric value to the second, use the file system property. |
5 | Date accessed | Value is string of form "yyyy mm dd hh:nn". For numeric value to the second, use the file system property. |
6 | Attributes | |
7 | Offline status | |
8 | Availability | |
9 | Perceived type | |
10 | Owner | |
11 | Kind | |
12 | Date taken | |
13 | Contributing artists | |
14 | Album | |
15 | Year | |
16 | Genre | |
17 | Conductors | |
18 | Tags | |
19 | Rating | |
20 | Authors | |
21 | Title | |
22 | Subject | |
23 | Categories | |
24 | Comments | |
25 | Copyright | |
26 | # | |
27 | Length | |
28 | Bit rate | In File Explorer, this is listed under the category "Audio". |
29 | Protected | |
30 | Camera model | |
31 | Dimensions | |
32 | Camera maker | |
33 | Company | |
34 | File description | |
35 | Masters keywords | Duplicate: This property name appears twice. What's the difference? |
36 | Masters keywords | Duplicate: This property name appears twice. What's the difference? |
(skip) | ||
42 | Program name | |
43 | Duration | |
44 | Is online | |
45 | Is recurring | |
46 | Location | |
47 | Optional attendee addresses | |
48 | Optional attendees | |
49 | Organizer address | |
50 | Organizer name | |
51 | Reminder time | |
52 | Required attendee addresses | |
53 | Required attendees | |
54 | Resources | |
55 | Meeting status | |
56 | Free/busy status | |
57 | Total size | |
58 | Account name | |
(skip) | ||
60 | Task status | |
61 | Computer | |
62 | Anniversary | |
63 | Assistant's name | |
64 | Assistant's phone | |
65 | Birthday | |
66 | Business address | |
67 | Business city | |
68 | Business country/region | |
69 | Business P.O. box | |
70 | Business postal code | |
71 | Business state or province | |
72 | Business street | |
73 | Business fax | |
74 | Business home page | |
75 | Business phone | |
76 | Callback number | |
77 | Car phone | |
78 | Children | |
79 | Company main phone | |
80 | Department | |
81 | E-mail address | |
82 | E-mail2 | |
83 | E-mail3 | |
84 | E-mail list | |
85 | E-mail display name | |
86 | File as | |
87 | First name | |
88 | Full name | |
89 | Gender | |
90 | Given name | |
91 | Hobbies | |
92 | Home address | |
93 | Home city | |
94 | Home country/region | |
95 | Home P.O. box | |
96 | Home postal code | |
97 | Home state or province | |
98 | Home street | |
99 | Home fax | |
100 | Home phone | |
101 | IM addresses | |
102 | Initials | |
103 | Job title | |
104 | Label | |
105 | Last name | |
106 | Mailing address | |
107 | Middle name | |
108 | Cell phone | |
109 | Nickname | |
110 | Office location | |
111 | Other address | |
112 | Other city | |
113 | Other country/region | |
114 | Other P.O. box | |
115 | Other postal code | |
116 | Other state or province | |
117 | Other street | |
118 | Pager | |
119 | Personal title | |
120 | City | |
121 | Country/region | |
122 | P.O. box | |
123 | Postal code | |
124 | State or province | |
125 | Street | |
126 | Primary e-mail | |
127 | Primary phone | |
128 | Profession | |
129 | Spouse/Partner | |
130 | Suffix | |
131 | TTY/TTD phone | |
132 | Telex | |
133 | Webpage | |
134 | Content status | |
135 | Content type | |
136 | Date acquired | |
137 | Date archived | |
138 | Date completed | |
139 | Device category | |
140 | Connected | |
141 | Discovery method | |
142 | Friendly name | |
143 | Local computer | |
144 | Manufacturer | |
145 | Model | |
146 | Paired | |
147 | Classification | |
148 | Status | Triplicate: This property name appears three times. What's the difference? |
149 | Status | Triplicate: This property name appears three times. What's the difference? |
150 | Client ID | |
151 | Contributors | |
152 | Content created | |
153 | Last printed | |
154 | Date last saved | |
155 | Division | |
156 | Document ID | |
157 | Pages | |
158 | Slides | |
159 | Total editing time | |
160 | Word count | |
161 | Due date | |
162 | End date | |
163 | File count | |
164 | File extension | |
165 | Filename | |
166 | File version | |
167 | Flag color | |
168 | Flag status | |
169 | Space free | |
(skip) | ||
172 | Group | |
173 | Sharing type | |
174 | Bit depth | |
175 | Horizontal resolution | |
176 | Width | |
177 | Vertical resolution | |
178 | Height | |
179 | Importance | |
180 | Is attachment | |
181 | Is deleted | |
182 | Encryption status | |
183 | Has flag | |
184 | Is completed | |
185 | Incomplete | |
186 | Read status | |
187 | Shared | |
188 | Creators | |
189 | Date | |
190 | Folder name | |
191 | File location | |
192 | Folder | |
193 | Participants | |
194 | Path | |
195 | By location | |
196 | Type | |
197 | Contact names | |
198 | Entry type | |
199 | Language | |
200 | Date visited | |
201 | Description | |
202 | Link status | |
203 | Link target | |
204 | URL | |
(skip) | ||
208 | Media created | |
209 | Date released | |
210 | Encoded by | |
211 | Episode number | |
212 | Producers | |
213 | Publisher | |
214 | Season number | |
215 | Subtitle | |
216 | User web URL | |
217 | Writers | |
(skip) | ||
219 | Attachments | |
220 | Bcc addresses | |
221 | Bcc | |
222 | Cc addresses | |
223 | Cc | |
224 | Conversation ID | |
225 | Date received | |
226 | Date sent | |
227 | From addresses | |
228 | From | |
229 | Has attachments | |
230 | Sender address | |
231 | Sender name | |
232 | Store | |
233 | To addresses | |
234 | To do title | |
235 | To | |
236 | Mileage | |
237 | Album artist | |
238 | Sort album artist | |
239 | Album ID | |
240 | Sort album | |
241 | Sort contributing artists | |
242 | Beats-per-minute | |
243 | Composers | |
244 | Sort composer | |
245 | Disc | |
246 | Initial key | |
247 | Part of a compilation | |
248 | Mood | |
249 | Part of set | |
250 | Period | |
251 | Color | |
252 | Parental rating | |
253 | Parental rating reason | |
254 | Space used | |
255 | EXIF version | |
256 | Event | |
257 | Exposure bias | |
258 | Exposure program | |
259 | Exposure time | |
260 | F-stop | |
261 | Flash mode | |
262 | Focal length | |
263 | 35mm focal length | |
264 | ISO speed | |
265 | Lens maker | |
266 | Lens model | |
267 | Light source | |
268 | Max aperture | |
269 | Metering mode | |
270 | Orientation | |
271 | People | |
272 | Program mode | |
273 | Saturation | |
274 | Subject distance | |
275 | White balance | |
276 | Priority | |
277 | Project | |
278 | Channel number | |
279 | Episode name | |
280 | Closed captioning | |
281 | Rerun | |
282 | SAP | |
283 | Broadcast date | |
284 | Program description | |
285 | Recording time | |
286 | Station call sign | |
287 | Station name | |
288 | Summary | |
289 | Snippets | |
290 | Auto summary | |
291 | Relevance | |
292 | File ownership | |
293 | Sensitivity | |
294 | Shared with | |
295 | Sharing status | |
(skip) | Although there is no property name reported for index 296, some files are reporting it has a value of "Available". | |
297 | Product name | |
298 | Product version | |
299 | Support link | |
300 | Source | |
301 | Start date | |
302 | Sharing | |
303 | Availability status | |
304 | Status | Triplicate: This property name appears three times. What's the difference? |
305 | Billing information | |
306 | Complete | |
307 | Task owner | |
308 | Sort title | |
309 | Total file size | |
310 | Legal trademarks | |
311 | Video compression | See In Windows 11 shell, what does the file property "Video compression" mean?. |
312 | Directors | |
313 | Data rate | Re several properties, see What file properties affect the size of a video file? |
314 | Frame height | |
315 | Frame rate | |
316 | Frame width | |
317 | Spherical | |
318 | Stereo | |
319 | Video orientation | |
320 | Total bitrate | |
321 | Backup Method | |
322 | Backup Comment |