Beispiel #1
0
 public static void GetInfoAboutDisks()
 {
     PISLog.Log($"Получаем информацию о дисках...");
     Console.WriteLine($"Получаем информацию о дисках...");
     foreach (DriveInfo di in DriveInfo.GetDrives())
     {
         PISLog.Log($"Имя: {di.Name}, объем: {di.TotalSize}, доступно: {di.TotalFreeSpace}, метка: {di.VolumeLabel}");
         Console.WriteLine($"Имя: {di.Name}, объем: {di.TotalSize}, доступно: {di.TotalFreeSpace}, метка: {di.VolumeLabel}");
     }
 }
Beispiel #2
0
 public static void GetCountOfFiles(string path)
 {
     PISLog.Log($"Получение количества файлов...", path);
     Console.WriteLine($"Получение количества файлов... | {path}");
     if (Directory.Exists(path))
     {
         DirectoryInfo di = new DirectoryInfo(path);
         PISLog.Log($"Файлов в каталоге: {di.GetFiles().Length}");
         Console.WriteLine($"Файлов в каталоге: {di.GetFiles().Length}");
     }
     {
         PISLog.Log("Каталог не найден!");
         Console.WriteLine("Каталог не найден!");
     }
 }
Beispiel #3
0
 public static void GetFullPath(string fileName)
 {
     PISLog.Log("Получение полного пути к файлу...", fileName);
     Console.WriteLine($"Получение полного пути к файлу... | {fileName}");
     if (File.Exists(fileName))
     {
         FileInfo fi = new FileInfo(fileName);
         PISLog.Log($"Путь: {fi.FullName}");
         Console.WriteLine($"Путь: {fi.FullName}");
     }
     else
     {
         PISLog.Log($"Файл не найден!");
         Console.WriteLine($"Файл не найден!");
     }
 }
Beispiel #4
0
 public static void GetCreatingTime(string fileName)
 {
     PISLog.Log("Получение даты создания файла...", fileName);
     Console.WriteLine($"Получение даты создания файла... | {fileName}");
     if (File.Exists(fileName))
     {
         FileInfo fi = new FileInfo(fileName);
         PISLog.Log($"Дата создания: {fi.CreationTime}");
         Console.WriteLine($"Дата создания: {fi.CreationTime}");
     }
     else
     {
         PISLog.Log($"Файл не найден!");
         Console.WriteLine($"Файл не найден!");
     }
 }
Beispiel #5
0
 public static void GetFileInfo(string fileName)
 {
     PISLog.Log("Получение информации о файле.", fileName);
     Console.WriteLine($"Получение информации о файле... | {fileName}");
     if (File.Exists(fileName))
     {
         FileInfo fi = new FileInfo(fileName);
         PISLog.Log($"Имя: {fi.Name}, расширение: {fi.Extension}, размер: {fi.Length} байт");
         Console.WriteLine($"Имя: {fi.Name}, расширение: {fi.Extension}, размер: {fi.Length} байт");
     }
     else
     {
         PISLog.Log($"Файл не найден!");
         Console.WriteLine($"Файл не найден!");
     }
 }
Beispiel #6
0
 public static void GetFullPath(string path)
 {
     PISLog.Log($"Получение пути...", path);
     Console.WriteLine($"Получение пути... | {path}");
     if (Directory.Exists(path))
     {
         DirectoryInfo di = new DirectoryInfo(path);
         PISLog.Log($"Родительский каталог: {di.Parent.FullName}");
         Console.WriteLine($"Родительский каталог: {di.Parent.FullName}");
     }
     else
     {
         PISLog.Log("Каталог не найден!");
         Console.WriteLine("Каталог не найден!");
     }
 }
Beispiel #7
0
 public static void GetCountOfSubfolders(string path)
 {
     PISLog.Log($"Получение количества подкаталогов...", path);
     Console.WriteLine($"Получение количества подкаталогов... | {path}");
     if (Directory.Exists(path))
     {
         DirectoryInfo di = new DirectoryInfo(path);
         PISLog.Log($"Подкаталогов: {di.GetDirectories().Length}");
         Console.WriteLine($"Подкаталогов: {di.GetDirectories().Length}");
     }
     else
     {
         PISLog.Log("Каталог не найден!");
         Console.WriteLine("Каталог не найден!");
     }
 }
Beispiel #8
0
 public static void GetCreateTime(string path)
 {
     PISLog.Log("Получение даты создания каталога...", path);
     Console.WriteLine($"Получение даты создания каталога... | {path}");
     if (Directory.Exists(path))
     {
         DirectoryInfo di = new DirectoryInfo(path);
         PISLog.Log($"Дата создания: {di.CreationTime}");
         Console.WriteLine($"Дата создания: {di.CreationTime}");
     }
     else
     {
         PISLog.Log($"Каталог не найден!");
         Console.WriteLine($"Каталог не найден!");
     }
 }
Beispiel #9
0
        public static void GetFreeSpace(string diskName)
        {
            PISLog.Log($"Попытка узнать свободное место на диске: {diskName}");
            Console.WriteLine($"Попытка узнать свободное место на диске: {diskName}");
            DriveInfo di = new DriveInfo(diskName);

            try
            {
                PISLog.Log($"Свободно: {di.TotalFreeSpace / (1024 * 1024)} МБ");
                Console.WriteLine($"Свободно: {di.TotalFreeSpace / (1024 * 1024)} МБ");
            }
            catch
            {
                PISLog.Log($"Диск {diskName} не найден!");
                Console.WriteLine($"Диск {diskName} не найден!");
            }
        }
Beispiel #10
0
        public static void GetFileSystem(string diskName)
        {
            PISLog.Log($"Попытка узнать файловую систему диска: {diskName}");
            Console.WriteLine($"Попытка узнать файловую систему диска: {diskName}");
            DriveInfo di = new DriveInfo(diskName);

            try
            {
                PISLog.Log($"ФС установлена: {di.DriveFormat}");
                Console.WriteLine($"ФС установлена: {di.DriveFormat}");
            }
            catch
            {
                PISLog.Log("Не удалось распознать ФС!");
                Console.WriteLine("Не удалось распознать ФС!");
            }
        }
Beispiel #11
0
 /// <summary>
 /// Выводит на экран список файлов и папок заданного диска
 /// </summary>
 public static void GetFolderBody(string diskName)
 {
     Directory.CreateDirectory("PISInspect");
     sw = new StreamWriter("PISInspect\\pisdirinfo.txt");
     PISLog.Log($"Попытка вывода файлов и папок диска {diskName}...");
     Console.WriteLine($"Попытка вывода файлов и папок диска {diskName}...");
     DriveInfo di = new DriveInfo(diskName);
     try
     {
         WriteFolder(di.RootDirectory.FullName, 0);
     }
     catch
     {
         PISLog.Log($"Диск {diskName} не найден!");
         Console.WriteLine($"Диск {diskName} не найден!");
         return;
     }
     sw.Close();
     Console.ForegroundColor = ConsoleColor.Gray;
     PISLog.Log("Обход окончен!");
     Console.WriteLine("Обход окончен!");
 }
Beispiel #12
0
        static void Main()
        {
            // ПОДГОТОВКА К РАБОТЕ: УДАЛЕНИЕ ФАЙЛОВ С ПРОШЛОГО ЗАПУСКА !!!
            Console.Write("Инициализация...");
            Initiaization();
            Console.WriteLine("ок.");

            PISDriveInfo.GetFileSystem("D");
            Console.WriteLine();
            PISDriveInfo.GetFreeSpace("H");
            Console.WriteLine();
            PISDriveInfo.GetInfoAboutDisks();
            Console.WriteLine();

            PISFileInfo.GetFullPath("pislogfile.txt");
            Console.WriteLine();
            PISFileInfo.GetFileInfo("pislogfile.txt");
            Console.WriteLine();
            PISFileInfo.GetCreatingTime("pislogfile.txt");
            Console.WriteLine();

            PISDirInfo.GetCountOfFiles("D:\\Файлы пользователя\\Рабочий стол\\ООП\\OOP\\Dick Figures");
            Console.WriteLine();
            PISDirInfo.GetCountOfSubfolders("D:\\Файлы пользователя\\Рабочий стол\\ООП\\OOP\\Dick Figures");
            Console.WriteLine();
            PISDirInfo.GetCreateTime("D:\\Файлы пользователя\\Рабочий стол\\ООП\\OOP\\Dick Figures");
            Console.WriteLine();
            PISDirInfo.GetFullPath("D:\\Файлы пользователя\\Рабочий стол\\ООП\\OOP\\Dick Figures");
            Console.WriteLine();

            // задание а
            PISFileManager.GetFolderBody("G");
            Console.WriteLine();

            if (File.Exists("PISInspect\\DriveInfo.txt"))
            {
                File.Delete("PISInspect\\DriveInfo.txt");
            }

            File.Copy("PISInspect\\pisdirinfo.txt", "PISInspect\\DriveInfo.txt");
            PISLog.Log("Скопирован файл", "из PISInspect\\pisdirinfo.txt в PISInspect\\DriveInfo.txt");
            Console.WriteLine("Скопирован файл из PISInspect\\pisdirinfo.txt в PISInspect\\DriveInfo.txt");
            Console.WriteLine();

            File.Delete("PISInspect\\pisdirinfo.txt");
            PISLog.Log("Удален файл PISInspect\\pisdirinfo.txt");
            Console.WriteLine("Удален файл PISInspect\\pisdirinfo.txt");
            Console.WriteLine();
            // б

            var di = Directory.CreateDirectory("PISFiles");

            Console.WriteLine("Создан каталог: " + di.FullName);
            PISLog.Log("Создан каталог ", di.FullName);
            Console.WriteLine();

            DirectoryInfo di2 = new DirectoryInfo("D:\\Файлы пользователя\\Рабочий стол\\КСиС");

            foreach (FileInfo a in di2.GetFiles())
            {
                if (a.Extension == ".txt")
                {
                    if (File.Exists("PISFiles\\" + a.Name))
                    {
                        File.Delete("PISFiles\\" + a.Name);
                    }
                    File.Copy(a.FullName, "PISFiles\\" + a.Name);
                    PISLog.Log("Скопирован файл", $"из {a.FullName} в PISInspect\\{a.Name}");
                    Console.WriteLine($"Скопирован файл из {a.FullName} в PISInspect\\{a.Name}");
                }
            }
            Console.WriteLine();

            Directory.Move("PISFiles", "PISInspect\\PISFiles");
            Console.WriteLine("Перемещен каталог PISFiles -> PISInspect\\PISFiles");
            PISLog.Log("Перемещен каталог", "PISFiles -> PISInspect\\PISFiles");
            Console.WriteLine();

            ZipFile.CreateFromDirectory("PISInspect\\PISFiles", "archive.zip");
            Console.WriteLine("Архивация файлов папки PISInspect\\PISFiles...");
            PISLog.Log("Архивация файлов папки", "PISInspect\\PISFiles");
            Console.WriteLine();

            Directory.CreateDirectory("archiveFiles");
            Console.WriteLine("Создан каталог archiveFiles");
            PISLog.Log("Создан каталог", "archiveFiles");
            Console.WriteLine();

            ZipFile.ExtractToDirectory("archive.zip", "archiveFiles");
            Console.WriteLine("Распаковка архива archive.zip в каталог archiveFiles...");
            PISLog.Log("Распаковка архива", "archive.zip -> archiveFiles");
            Console.WriteLine();

            //Console.Clear();
            Console.WriteLine("Обработка лог-файла.\nЧтение файла...");
            StringBuilder log = new StringBuilder(File.ReadAllText("pislogfile.txt"));

            Console.WriteLine("\nВывод отчета за 08.12.2019");

            log.Remove(0, log.ToString().IndexOf("НОВЫЙ ЗАПУСК: 08.12.2019"));
            int deleteEnd = log.ToString().IndexOf("НОВЫЙ ЗАПУСК");

            Console.WriteLine("Первая точка: " + deleteEnd);
            deleteEnd = log.ToString().IndexOf("НОВЫЙ ЗАПУСК", deleteEnd + 1);
            Console.WriteLine("Вторая точка: " + deleteEnd);
            Console.WriteLine("Длина строки: " + log.Length);
            log.Remove(deleteEnd, log.Length - deleteEnd);

            Console.WriteLine(log);

            Console.WriteLine("Вывод лога за последний час...");
            log = new StringBuilder(File.ReadAllText("pislogfile.txt"));
            Console.WriteLine("Текущий час: " + DateTime.Now.TimeOfDay.Hours.ToString());

            // delete part
            string day, month, h;

            if (DateTime.Now.Day < 10)
            {
                day = "0" + DateTime.Now.Day;
            }
            else
            {
                day = DateTime.Now.Day.ToString();
            }
            if (DateTime.Now.Month < 10)
            {
                month = "0" + DateTime.Now.Month;
            }
            else
            {
                month = DateTime.Now.Month.ToString();
            }
            if (DateTime.Now.Hour < 10)
            {
                h = "0" + DateTime.Now.Hour;
            }
            else
            {
                h = DateTime.Now.Hour.ToString();
            }

            deleteEnd = log.ToString().IndexOf($"НОВЫЙ ЗАПУСК: {day}.{month}.{DateTime.Now.Date.Year} {h}");

            // НЕ ПЕРЕПИСЫВАЕМ САМ ФАЙЛ, ЧТОБЫ НЕ ТЕРЯТЬ ДАННЫЕ !
            Console.WriteLine("Символов для удаления: " + deleteEnd + ", полный размер: " + log.Length);
            log.Remove(0, deleteEnd - 1);
            Console.WriteLine(log);


            Console.Write("\nDONE.");
            Console.ReadLine();
        }