2010-12-15 19 views
7

मैं फ़ाइलों को एक निर्देशिका से दूसरी निर्देशिका में कॉपी करने और फ़ाइल निर्माण दिनांक के आधार पर परीक्षण करने की कोशिश कर रहा हूं।निर्माण तिथि और फ़ाइल। कॉपी अंक

File.Copy(fileName, directory + fileNameOnly, true); 

समस्या तब बाद में होती है जब मैंने निर्माण कार्यक्रम की जांच की, यह सुनिश्चित करने के लिए कि यह 5 दिन से अधिक पुराना नहीं है।

FileInfo file = new FileInfo(fileName); 
if (file.CreationTime.AddHours(120) < DateTime.Now) {} 

मैंने देखा है कि प्रतिलिपि बनाई गई निर्माण तिथि 1 9 80-01-01 को निर्धारित की गई है। यह मेरी आवश्यकताओं के लिए उपयोगी नहीं है क्योंकि मैं मूल फ़ाइल से निर्माण तिथि को बनाए रखना चाहता हूं। क्या तिथियों की तुलना करने की कोई अन्य विधि है या यह वह प्रति है जो निर्माण तिथि मान खो देती है।

मुझे लगता है कि मेरा सवाल है, मैं निर्माण तिथि को कैसे बनाए रख सकता हूं?

+0

के साथ स्रोत फ़ाइल का निर्माण समय प्राप्त कर सकते हैं यह अजीब बात है। मैंने File.Copy का उपयोग करके फ़ाइल की प्रतिलिपि बनाने का प्रयास किया है, और मेरे मामले में कॉपी की गई फ़ाइल को वर्तमान दिनांक/समय इसकी निर्माण तिथि/समय के रूप में मिलता है। लेकिन ... बिल्कुल नहीं। हर दौड़ में सृजन की तारीख समान होती है, भले ही वह अब 5 मिनट पहले हो। यहां तक ​​कि यदि मैं एक्सप्लोरर का उपयोग करके एक ही फ़ाइल को उसी लक्ष्य पर कॉपी करता हूं, तो कॉपी की गई फ़ाइल उसी दिनांक/समय को दिखाती है (जो तब तक 6 मिनट पहले थी)। ऐसा लगता है कि विंडोज सृजन की तारीख या कुछ कैश कर रहा है। यदि मैं लक्ष्य फ़ोल्डर या फ़ाइल नाम बदलता हूं, तो उस नई फ़ाइल को वास्तविक दिनांक/समय मिलता है। – comecme

उत्तर

11

फ़ाइल कॉपी करने के बाद File.SetCreationTime विधि का उपयोग करें।
आप File.GetCreationTime

+0

धन्यवाद, मैं आज थोड़ा थक गया हूं आज बहुत व्यस्त रहा हूं और गलती को ढूंढने के करीब थोड़ा दिखना चाहिए था। इसे अभी मिला –

+0

कोई समस्या नहीं! :) –

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