2014-12-03 77 views
-2

我试图找到若干.mp3文件的创建日期,但是错误的日期都出现了,居然被重复整个循环只有一个日期,我已经做了广泛的研究,我真的然而有,我认为这是一个缓存的问题,但是我似乎无法使.REFRESH工作,我使用VS2010我的代码如下C#代码不返回正确的文件创建日期

private static void Main() 
{ 
    var pstFileFolder = @"C:\Users\Damian\Downloads"; 
    var searchPattern = "*.mp3"; 
    var extension = ".mp3"; 
    var serverFolder = @"C:\work\"; 
    int count = 0; 

    foreach (var file in Directory.GetFiles(pstFileFolder, searchPattern)) 
    { 
     string fileCreatedDatey = File.GetCreationTime(pstFileFolder).Date.ToString("yyyy-MM-dd"); 
     var theefile = new FileInfo(file); 
     Console.WriteLine(fileCreatedDatey); 
     Console.WriteLine(theefile); 
     count++; 
    } 
    Console.WriteLine(count + searchPattern + " Files found"); 
    Console.ReadKey(); 
} 
+10

你得到_folder_,而不是_FILE_的'CreationTime'。 – 2014-12-03 19:31:57

+1

@mybirthname,我不知道它是[链接quesiton]的重复(http://stackoverflow.com/questions/27259506/how-to-get-only-folder-creation-date-in-c-sharp) – Habib 2014-12-03 19:35:12

+0

@Habib你是正确的它不是确切的重复,但类似的问题,从他今天问。如果你愿意,你可以拒绝我的国旗,没问题。 – mybirthname 2014-12-03 19:37:39

回答

3

File.GetCreationTime(pstFileFolder)将返回CreationDate的文件夹,你会得到相同的为所有文件返回值。而是使用:

string fileCreatedDatey = File.GetCreationTime(file).Date.ToString("yyyy-MM-dd"); 
1

使用此:

foreach (var file in Directory.GetFiles(pstFileFolder, searchPattern)) 
      { 
       string fileCreatedDatey = File.GetCreationTime(file).Date.ToString("yyyy-MM-dd"); 

       var theefile = new FileInfo(file); 
       Console.WriteLine(fileCreatedDatey); 
       Console.WriteLine(theefile); 
       count++; 

      }