Добавлены файлы в таблице данных.
Здесь моя проблема в том, что я просто добавил файл подсчета первым, поэтому в первые 3 строки добавляются файлы подсчета. и в следующие 3 строки добавляются файлы переключателей. В первых трех строках столбцы файла переключения и файла данных пусты. Это займет следующие 3 строки. Мне нужно заполнить этот столбец в той же строке.
Здесь он фильтрует только файл счета, необходимо отфильтровать 3 типа файлов.
string[] Count_filePath = Directory.GetFiles(directory, "*.count", SearchOption.AllDirectories);
Для 3 типов файлов 3 отдельныхПожалуйста, предложите простой способ для каждого цикла. В каталоге необходимо проверить 3 типа файлов в каждой подпапке, если какой-либо тип файла отсутствует, необходимо указать в столбце таблицы данных. И заполните данные существующего файла в таблице данных.
// Getting the latest .Count file:
var directory = "C:\\MainFolder";
DataTable dt = new DataTable();
DataTable dt1 = new DataTable();
DataRow row;
DataColumn column;
column = new DataColumn();
dt.Columns.Add("Count_File_Date", typeof(String));
dt.Columns.Add("Count_File_Name", typeof(String));
dt.Columns.Add("Count_File_LMD", typeof(String));
dt.Columns.Add("Switch_FileName", typeof(String));
dt.Columns.Add("Switch_File_Date", typeof(String));
dt.Columns.Add("Data_File_Name", typeof(String));
dt.Columns.Add("Data_File_LMD", typeof(String));
// Getting the values of count file
string[] Count_filePath = Directory.GetFiles(directory, "*.count", SearchOption.AllDirectories);
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);
Count_File_Name = Path.GetFileName(CurrentPath);
Count_L_M_D = Directory.GetLastWriteTime(CurrentPath);
row = dt.NewRow();
dt.Rows.Add(row);
row["Count_File_Date"] = Datevalue;
row["Count_File_Name"] = Count_File_Name;
row["Count_File_LMD"] = Count_L_M_D;
}
// Getting the values of switch file
string[] Switch_filePath = Directory.GetFiles(directory, "*.switch", SearchOption.AllDirectories);
DateTime Switch_L_M_D;
string S_File_Name;
foreach (string CurrentPath in Switch_filePath)
{
S_File_Name = Path.GetFileName(CurrentPath);
Switch_L_M_D = Directory.GetLastWriteTime(CurrentPath);
row = dt.NewRow();
dt.Rows.Add(row);
row["Switch_FileName"] = S_File_Name;
row["Switch_File_Date"] = 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);
row = dt.NewRow();
dt.Rows.Add(row);
row["Data_File_Name"] = Data_File_Name;
row["Data_File_LMD"] = Data_L_M_D;
}