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

У нас есть каталог и подпапка, внутри подпапки у нас есть файлы, нам нужно найти 3 файла: .Count, .switch и .data file. Если какой-либо файл отсутствует, необходимо уведомить об этом в выходном файле. Получитепуть, имя файла и время последней записи 3 файлов для файла подсчета должны считывать дату внутри файла. Выходные данные будут в табличном формате. нужно отправить результат по почте.

Добавлены все необходимые значения в списке,

   CountFileDate.Add(Datevalue);
   Count_Filename.Add(Count_File_Name);
   CountFileLMDate.Add(Count_L_M_D);

   Switch_FileName_List.Add(Switch_File_Name);
   SwitchFileLMDate_List.Add(Switch_L_M_D);

   Data_FileName_List.Add(Data_File_Name);
   DataFileLMDate_List.Add(Data_L_M_D);

Проблемы с форматированием и поиском файла, который отсутствует.

1. Нужно отформатировать вывод в табличном формате, показанном на рисунке: введите описание изображения здесь 2. В каждой папке мы должны найти файлы .count, .switch и .data, если кто-нибудьфайла нет необходимости упоминать как не найденный **

var directory = "C:\\MainFolder";
// Getting the values of count file
string[] Count_filePath = Directory.GetFiles(directory, "*.count", SearchOption.AllDirectories);

       List<DateTime> CountFileDate = new List<DateTime>();
       List<DateTime> CountFileLMDate = new List<DateTime>();
       List<string> Count_Filename = new List<string>();
       DateTime Count_L_M_D;
       string Count_File_Name;

       foreach (string CurrentPath in Count_filePath)
          {
                  string Content = File.ReadAllText(@CurrentPath);
                  string loadedDate = DateTime.ParseExact(Content.Substring(9, 8), "yyyyMMdd",
                                  CultureInfo.InvariantCulture).ToString("yyyy/MM/dd");
                  DateTime Datevalue = DateTime.Parse(loadedDate);
                  CountFileDate.Add(Datevalue);
                  Count_File_Name = Path.GetFileName(CurrentPath);
                  Count_Filename.Add(Count_File_Name);
                  Count_L_M_D = Directory.GetLastWriteTime(CurrentPath);
                  CountFileLMDate.Add(Count_L_M_D);
            }

       // Getting the values of switch file

       string[] Switch_filePath = Directory.GetFiles(directory, "*.switch", SearchOption.AllDirectories);
       List<DateTime> SwitchFileLMDate_List = new List<DateTime>();
       List<string> Switch_FileName_List = new List<string>();
       DateTime Switch_L_M_D;
       string Switch_File_Name;

       foreach (string CurrentPath in Switch_filePath)
       {
           Switch_File_Name = Path.GetFileName(CurrentPath);
           Switch_FileName_List.Add(Switch_File_Name);
           Switch_L_M_D = Directory.GetLastWriteTime(CurrentPath);
           SwitchFileLMDate_List.Add(Switch_L_M_D);
       }

       // Getting the values of data file

       string[] Data_filePath = Directory.GetFiles(directory, "*.data", SearchOption.AllDirectories);
       List<DateTime> DataFileLMDate_List = new List<DateTime>();
       List<string> Data_FileName_List = new List<string>();
       DateTime Data_L_M_D;
       string Data_File_Name;

       foreach (string CurrentPath in Switch_filePath)
       {
           Data_File_Name = Path.GetFileName(CurrentPath);
           Data_FileName_List.Add(Data_File_Name);
           Data_L_M_D = Directory.GetLastWriteTime(CurrentPath);
           DataFileLMDate_List.Add(Data_L_M_D);
       }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...