2010-12-15 23 views
7

Dosyaları bir dizinden diğerine kopyalamaya ve dosya oluşturma tarihine bağlı olarak sınama çalışıyorum.Oluşturulma Tarihi ve Dosya.Kontu Dosyası

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

Ben en fazla 5 günlük olduğundan emin olmak için oluşturulma tarihini kontrol ederken sorun daha sonra benim programında oluşur.

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

geri kopyalanan oluşturulma tarihi 1980-01-01 ayarlanmış olduğunu gördük. Bu, orijinal dosyadan oluşturma tarihini korumak istediğim için gereksinimlerim için yararlı değil. Tarihlerin karşılaştırılması için başka bir yöntem var mı yoksa oluşturma tarihi değerini kaybeden kopya mıdır?

Sanırım sorum şu, Yaratılış Tarihini nasıl koruyabilirim?

+0

ile alabilirsiniz. Bu garip. File.Copy kullanarak bir dosyayı kopyalamayı denedim ve benim durumumda kopyalanan dosya mevcut tarih/saati oluşturulma tarihi/saati olarak alır. Ama ... tam olarak değil. Her koşuda, yaratma tarihi, 5 dakika önce olsa bile aynıdır. Aynı dosyayı Explorer kullanarak aynı hedefe kopyalasam bile, kopyalanan dosya aynı tarih/saati gösterir (6 dakika önce). Neredeyse Windows, oluşturma tarihini veya bir şeyi önbelleğe alıyor gibi görünüyor. Hedef klasörü veya dosya adını değiştirirsem, bu yeni dosya gerçek tarih/saati alır. – comecme

cevap

11

Dosyayı kopyaladıktan sonra File.SetCreationTime yöntemini kullanın.
Kaynak dosyanın oluşturma süresini File.GetCreationTime

+0

Teşekkür ederim, bugün biraz yorgunum bugün çok meşguldüm ve hatayı bulmak için biraz daha yakından bakmalıydım. Şimdi buldum. –

+0

Sorun değil! :) –

İlgili konular