heribertolugo / FileList

List all files in a given directory, and provide the option to copy or move selected files.
1 stars 0 forks source link

File property names do not match value (intermittent) #1

Open heribertolugo opened 4 years ago

heribertolugo commented 4 years ago

some files might have extended properties which are not available to other files, such as date deleted. In such scenarios, the list which contains the file property name gets out of sync with other files properties. this would cause date created to be in the size field, etc... the list which holds file property names was created to prevent traversing property names each time file properties are fetched. seems file property name might have to be traversed for each file after all. unless another solution is available, such as getting all possible property names the first time around.

heribertolugo commented 4 years ago

seems there is no way to get a master list. a workaround is to get file properties for every file extension.

heribertolugo commented 4 years ago

file property by extension would be useless, as in the case of recycle bin - the extension is the same but file properties are different. seems the file properties are defined in a schemas, per folder type or other association. see: Property Description Schema

solution could be to load all the schemas to get the file properties.

a more simple approach is to load the property names at the time of loading the values. names were loaded separately for performance. but this list is iterated for every file to load the values. performance impact should be minimal, although shell calls do impact performance. simple approach will be implemented for the time being. this case will be left open until an alternative method is implemented or the implemented approach is definitively decided to be accepted.

heribertolugo commented 4 years ago

another possible solution: Windows Properties

heribertolugo commented 4 years ago

worth reading about virtual folders: How can I tell that a directory is the recycle bin in C#?