I have code which looks for .ini files in all folders in root directory. I want to show only folder those .ini files are in, that is only info relevant to me, because it shows different project names. But as far I can figure it out I can only show full path to file or only file itself in listbox. Any help? My code:
private void Form1_Load(object sender, EventArgs e)
{
string rootdir = @"C:\Users\isaced1\Desktop\test"; //root directory of all projects
string[] files = Directory.GetFiles(rootdir, "Project_config.ini", SearchOption.AllDirectories); //searches for specific .ini files in all directories whithin rood directory
//cycles through all .ini files and adds it to lsitbox1 or listbox2
foreach (string item in files)
{
string fileContents = File.ReadAllText(item); //reads all .ini files
const string PATTERN = @"OTPM = true"; //search pattern in .ini files
Match match = Regex.Match(fileContents, PATTERN, RegexOptions.IgnoreCase); //matches pattern with content in .ini file
if (match.Success)
{
listBox1.Items.Add(Path.GetDirectoryName(item)); //if match is successfull places file in lisbox1
listBox1.ForeColor = Color.Green;
}
else
{
listBox2.Items.Add(Path.GetDirectoryName(item)); //if match is unsuccessfull places file in lisbox2
listBox2.ForeColor = Color.Red;
}
}
}