Как извлечь дату из столбца «Создано мультимедиа» видеофайла? - PullRequest
9 голосов
/ 02 декабря 2011

Мне нужно извлечь дату из столбца «Создано мультимедиа» (выделено зеленым цветом на моем примере фотографии ниже) с помощью C #.

В моем примере столбцы «Создан носитель» и «Дата» одинаковы. Однако есть несколько случаев, когда их нет. В столбце «Создано мультимедиа» указана правильная дата, когда видео было фактически записано.

See this column?

Вот функция, которую я использовал для ее получения. Спасибо Азизу за то, что он указал мне правильное направление:

Shell shell = new ShellClass();
Folder folder = shell.NameSpace(_File.DirectoryName);
FolderItem file = folder.ParseName(_File.Name);

// These are the characters that are not allowing me to parse into a DateTime
char[] charactersToRemove = new char[] {
    (char)8206,
    (char)8207
};

// Getting the "Media Created" label (don't really need this, but what the heck)
string name = folder.GetDetailsOf(null, 191);

// Getting the "Media Created" value as a string
string value = folder.GetDetailsOf(file, 191).Trim();

// Removing the suspect characters
foreach (char c in charactersToRemove)
    value = value.Replace((c).ToString(), "").Trim();

// If the value string is empty, return DateTime.MinValue, otherwise return the "Media Created" date
return value == string.Empty ? DateTime.MinValue : DateTime.Parse(value);

1 Ответ

4 голосов
/ 02 декабря 2011

Расширенные свойства файла можно получить с помощью метода Folder.GetDetailsOf () .Согласно этому потоку , Дата создания носителя может быть получена с использованием идентификатора свойства 177.

...