<

  Projects: 0 1 2 3 4 5 6 7 8 9

Project 0. Jef Raskin - 8

using System.IO;
using System; 

class AJefRaskinBuckUp
 {
 static void Main(string[] args)
  {
     System.Console.WriteLine("Hi from AJefraskinBuckUp");
     DirectoryContent();
  }
  static void AFileCopy(FileInfo f)
  {
     string s=""; //строка для формирования имени
     s = "e:" + "\\" + f.DirectoryName.Substring(3); 
    //отрезается имя диска, например "С:\Education" - "c:\" = "Education"
     ATestDir(s);
     s += '\\' + f.Name;
     try
     {
       f.CopyTo(s, true);
     }
     catch (Exception ex) 
     { 
        Console.WriteLine("*** Ошибка от JefRaskinBuckUp.cs \n\r"+ex+"\n\r***"); 
      }
  }

  static void DirectoryContent()
  {
    DirectoryInfo oD= new DirectoryInfo("C:\\_E");
    Console.WriteLine("DIR:{0}\n", oD.FullName.ToString());

    foreach (FileInfo f in oD.GetFiles())
    {
      Console.WriteLine("Filename:{0}", f.FullName);
      AFileCopy(f);
    }

            foreach (DirectoryInfo d in oD.GetDirectories())
            {
                AProcessDirs(d);
            }

   }

        static void AProcessDirs(DirectoryInfo oD)
        {
            foreach (FileInfo f in oD.GetFiles())
            {
                Console.WriteLine("Filename: {0}", f.FullName);
                AFileCopy(f);
            }
            foreach (DirectoryInfo d in oD.GetDirectories())
            {
                AProcessDirs(d);
            }         
        }

        static void ATestDir(string s)
        {
            Console.WriteLine("Hello ATestDir - "+s.ToString());

            DirectoryInfo d = new DirectoryInfo(s);
            
            if (d.Exists) return;
            d.Create();
            return;
        }
 }