0

I am creating application to delete files for more than 15 days in past, I've created a project using the C# language "multithreading" to be able to delete these files, but its only reading the first file with the error

The directory name is invalid

Can anyone help me on this please?

private void process3()
{
    //DirectoryInfo info1 = new DirectoryInfo(@"\\10.4.9.202\d\PapyrusRes\appdata\");
    DirectoryInfo info1 = new DirectoryInfo(@"\\DXB-RASO-MCH\Users\oalahmad\Dropbox\backup\Backup5\Desktop\New folder2");
    // long Size = 0;

    //C:\Users\oalahmad\Dropbox\backup\Backup5\Desktop\New folder2
    String[] filePaths = (from fls in info1.EnumerateFiles()
                          where (fls.LastWriteTime.Date < DateTime.Today.AddDays(-15))
                          select fls.FullName).ToArray();

    int i = 0;

    if (!File.Exists(logPath3))
    {
        // Create a file to write to. 
        using (StreamWriter sw = File.CreateText(logPath3))
        {
            sw.WriteLine("Deletion Process History:");
            sw.WriteLine(" ");
            sw.WriteLine(" ");
        }
    }
    //stopwatch.Start();
    try
    {
        foreach (String f in filePaths)
        {
            DirectoryInfo info = new DirectoryInfo(f);
            int difference = DateTime.Today.Subtract(info.LastWriteTime).Days;

            textBox2.BeginInvoke(new Action(() =>
                {
                    textBox2.Text  += "Folder Name: " + Path.GetFileName(f) + 
                                      "\r\nDate Modified: " + difference + 
                                      "\r\n------\r\n";
                }));

            Thread.Sleep(10);

            i++;

            Directory.Delete(f, true);
            count++;
        }

        using (StreamWriter sw = File.AppendText(logPath3))
        {
            sw.WriteLine("Successful at: " + DateTime.Now + "     " + count + 
                         " files were deleted");
        }
    }
    catch (Exception ex)
    {
        // log errors
        // Write your content here
        using (StreamWriter sw = File.AppendText(logPath3))
        {
            if (count == 0)
                sw.WriteLine("Unsuccessful at: " + DateTime.Now + "            Error: " + 
                             ex.Message);
            else
                sw.WriteLine("Unsuccessful at: " + DateTime.Now + "     " + count + 
                             " files were deleted" + "            Error: " + ex.Message);
        }
    }
}
Daniel A. White
  • 187,200
  • 47
  • 362
  • 445
osama_1989
  • 53
  • 6

0 Answers0