У нас есть каталог и подпапка, внутри подпапки у нас есть файлы, нам нужно найти 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);
}
}