Как правило, вы можете получить доступ к любому расширенному свойству для файла, отображаемого в проводнике, с помощью метода оболочки GetDetailsOf
. Вот короткий пример, адаптированный из другого ответа :
$file = Get-Item IMG_0386.jpg
$shellObject = New-Object -ComObject Shell.Application
$directoryObject = $shellObject.NameSpace( $file.Directory.FullName )
$fileObject = $directoryObject.ParseName( $file.Name )
$property = 'Date taken'
for(
$index = 5;
$directoryObject.GetDetailsOf( $directoryObject.Items, $index ) -ne $property;
++$index ) { }
$value = $directoryObject.GetDetailsOf( $fileObject, $index )
Однако, согласно комментариям к другому вопросу , не существует универсального механизма для установки этих свойств. Класс System.Drawing.Bitmap
, о котором упомянул EBGreen , будет работать для изображений, но, боюсь, я также не знаю опции .NET для видеофайлов.