2011-12-02 7 views
8

मुझे सी # का उपयोग करके "मीडिया निर्मित" कॉलम (नीचे दी गई उदाहरण फोटो में हरे रंग में हाइलाइट) से तारीख निकालने की आवश्यकता है।मैं वीडियो फ़ाइल के "मीडिया बनाए गए" कॉलम से दिनांक कैसे निकाल सकता हूं?

मेरे उदाहरण में, "मीडिया बनाया गया" और "दिनांक" कॉलम सटीक समान हैं। हालांकि, ऐसे कई उदाहरण हैं जहां वे नहीं हैं। "मीडिया बनाया गया" कॉलम में वास्तव में रिकॉर्ड किया गया था जब वीडियो वास्तव में दर्ज किया गया था।

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); 

उत्तर

3

विस्तारित फ़ाइल गुण Folder.GetDetailsOf() विधि का उपयोग कर प्राप्त किया जा सकता। इस thread के अनुसार, मीडिया को बनाया गया दिनांक 177.

+0

के एक प्रॉपर्टी ID सही काम किया, कुछ बातें के अलावा का उपयोग कर प्राप्त किया जा सकता है। संपत्ति आईडी 1 9 1 थी। मुझे लगता है कि इसे ऑपरेटिंग सिस्टम (मैं विंडोज 7 64-बिट पर हूं) के साथ करना है। भी वहाँ में कुछ अजीब अक्षर हैं जो दिनांक समय में सही ढंग से पार्स नहीं होता रहे थे: (चार) 8206 (चार) 8207 लेकिन एक बार वे बाहर छीन रहे थे यह पूरी तरह से काम किया! बहुत बहुत धन्यवाद! –

+0

मैंने अपने प्रश्न के निचले हिस्से में अपना कामकाजी कार्य जोड़ा है। –

संबंधित मुद्दे

 संबंधित मुद्दे