I figured this out by accident. If you pass null
into GetDetailsOf
then it responds with the column names. For example, execute the following JScript with cscript
:
var shellapp = WScript.CreateObject("Shell.Application");
var folder = shellapp.NameSpace("D:\\");
for (var j = 0; j < 0xFFFF; j++) {
detail = folder.GetDetailsOf(null, j);
if (!detail) {
break;
}
WScript.Echo("[" + j + "] = " + detail);
}
On my Windows 10 system this outputs:
[0] = Name
[1] = Size
[2] = Item type
[3] = Date modified
[4] = Date created
[5] = Date accessed
[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
[29] = Protected
[30] = Camera model
[31] = Dimensions
[32] = Camera maker
[33] = Company
[34] = File description
[35] = Program name
[36] = Duration
[37] = Is online
[38] = Is recurring
[39] = Location
[40] = Optional attendee addresses
[41] = Optional attendees
[42] = Organizer address
[43] = Organizer name
[44] = Reminder time
[45] = Required attendee addresses
[46] = Required attendees
[47] = Resources
[48] = Meeting status
[49] = Free/busy status
[50] = Total size
[51] = Account name
And this is quite different from Windows 2000 as detailed from Retrieving Extended File Properties. Incidentally if you pass in a different NameSpace
then you're going to get different attributes. In my example, I'm asking what attributes are available for files on drive D:
which could be different depending on its format.
int
's that can be used.) – OmeromeroIEnumerable
- ?? I didn't mention that. About your other point - I don't want the simple properties that can be retrieved usingFolderInfo
- I want those that can't. – Omeromero