Проходить по файлам, созданным за определенный промежуток времени, и получать имена файлов - PullRequest
0 голосов
/ 26 сентября 2019

Мне нужно получить доступ к файлам в папке, которые были созданы за последние 10 часов, и определить имена файлов.Пожалуйста, сообщите, что я делаю неправильно, так как я не получаю вывод.

DateTime fromDate = DateTime.Now.AddHours(-10);
DateTime toDate = DateTime.Now;

DirectoryInfo directory = new DirectoryInfo(@"\\ServerName\SharedFolder\");
var files = directory.GetFiles()
            .Where(file => file.LastWriteTime >= fromDate && file.LastWriteTime <= toDate);

foreach (var file in files)
{
    string filename = file.Name.ToString();
    Console.WriteLine(filename);
}

1 Ответ

0 голосов
/ 26 сентября 2019

у вас хороший код, но если вы добавите некоторую валидацию, подобную приведенному ниже, то это будет хороший код.

   DateTime fromDate = DateTime.Now.AddHours(-10);
            DateTime toDate = DateTime.Now;

            DirectoryInfo directory = new DirectoryInfo(@"\\ServerName\SharedFolder\");
            var files = directory.GetFiles("*.*")  //add this.--
                        .Where(file => file.LastWriteTime >= fromDate && file.LastWriteTime <= toDate);

            foreach (var file in files)
            {
                // add this.
                if (file.Name != "Thumbs.db" && file.Name.StartsWith("~$") == false && file.Name.ToLower().Contains(".xml") == false)
                {
                    string filename = file.Name.ToString();
                    Console.WriteLine(filename);
                }
            }

надеюсь, вам понравится.

...