Пример #1
0
        public string GetFileCreationDate(string path)
        {
            try
            {
                var fileInfo = new FileInfo(path);

                var date = fileInfo.CreationTime;

                _logger.Write($"Время создания файла {path}: {date:dd.MM.yyyy HH:mm}");
                return date.ToString("dd.MM.yyyy HH:mm");
            }
            catch (Exception e)
            {
                _logger.Write($"Ошибка получения файла {path} - {e.Message}");
            }
            return "";
        }
Пример #2
0
        public string GetFileSystemType(string driveName)
        {
            string format = "";

            try
            {
                var drive = GetDrive(driveName);

                format = drive.DriveFormat;
                _logger.Write($"Тип файловой системы: {format}");
                return(drive.DriveFormat);
            }
            catch (Exception e)
            {
                _logger.Write($"Ошибка получения диска с именем '{driveName}' - {e.Message}");
            }

            return(format);
        }
Пример #3
0
        public int GetFilesCount(string directoryPath)
        {
            try
            {
                DirectoryInfo d          = new DirectoryInfo(directoryPath);
                var           filesCount = d.GetFiles("*", SearchOption.TopDirectoryOnly).Length; // 1 - поиск всех файлов, 2 - поиск без захода в поддиректории

                _logger.Write($"Файлов в директории {d.Name}: {filesCount}");
                return(filesCount);
            }
            catch (Exception e)
            {
                _logger.Write($"Ошибка при получении директории {directoryPath} - {e.Message}");
            }
            return(-1);
        }
Пример #4
0
        public string MakeDir(string driveName, string dirName)
        {
            try
            {
                var path = Path.Combine(driveName, dirName);

                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                    _logger.Write($"Создана директория {path}");
                }
                else
                {
                    _logger.Write($"Директория {path} уже существует");
                }

                return(path);
            }
            catch (Exception e)
            {
                _logger.Write($"Ошибка при создании директории {dirName} на диске {driveName} - {e.Message}");
            }
            return("");
        }
Пример #5
0
        static void Main(string[] args)
        {
            try
            {  //1
                var logger = new PEDLog("pedlogfile.txt");
                logger.Write("Начало работы");

                //2
                var disk = new PEDDiskInfo();
                disk.GetTotalFreeSpace("D:\\");
                disk.GetFileSystemType("D:\\");
                disk.GetDrivesInfo();

                //3
                var inf = new PEDFileInfo();
                inf.GetFileFullPath("pedlogfile.txt");
                inf.GetFileSize("pedlogfile.txt");
                inf.GetFileExtension("pedlogfile.txt");
                inf.GetFileName("pedlogfile.txt");
                inf.GetFileCreationDate("pedlogfile.txt");

                //4
                var dirInfo = new PEDDirInfo();
                dirInfo.GetFilesCount("D:\\");
                dirInfo.GetCreationDate("D:\\");
                dirInfo.GetParents("C:\\Windows\\System32\\ru-RU");

                //5
                var    fileMgr = new PEDFileManager();
                string infoStr;
                var    info   = fileMgr.GetDriveDirectoriesAndFiles("D:\\", out infoStr);
                var    newDir = fileMgr.MakeDir("D:\\", "PEDInspect");
                var    file   = fileMgr.MakeFile(newDir, "peddirinfo.txt");
                fileMgr.WriteToFile(file, infoStr);

                fileMgr.MakeCopy(file, "peddirinfo_copy.txt");
                var renamed = fileMgr.Rename(file, "peddirinfo_renamed.txt");
                fileMgr.Remove(renamed);

                var newDir2 = fileMgr.MakeDir("D:\\", "PEDFiles");
                var files   = fileMgr.GetFiles("D:\\files", "*.txt");
                fileMgr.CopyFilesToDir(files, newDir2);
                var newPath = fileMgr.MoveDirectory(newDir2, newDir);

                var archive = fileMgr.Zip(newPath, Path.Combine(newDir, "files.zip"));
                fileMgr.Unzip(archive, fileMgr.MakeDir(newDir, "Unziped"));

                //6
                Console.WriteLine($"Введите дату (в формате dd.MM.yyyy), за которую нужно получить записи:");
                var dateStr = Console.ReadLine();
                var logDate = DateTime.ParseExact(dateStr, "dd.MM.yyyy", null);

                Console.WriteLine($"Записи в log за {dateStr}:");
                foreach (var line in logger.FindLineByDate(logDate))
                {
                    Console.WriteLine(line);
                }

                var keyString = "Диск -";
                Console.WriteLine($"\nЗаписи в log по ключевому слову '{keyString}'");
                foreach (var line in logger.FindLinesByMessage(keyString))
                {
                    Console.WriteLine(line);
                }

                var dateStrat = new DateTime(2018, 12, 22, 10, 17, 0);
                var dateEnd   = new DateTime(2018, 12, 22, 10, 16, 0);
                Console.WriteLine($"\nЗаписи в log с {dateStrat} по {dateEnd}:");
                foreach (var line in logger.FindLineByInterval(dateStrat, dateEnd))
                {
                    Console.WriteLine(line);
                }

                Console.Write($"\nЧисло записей: ");
                Console.WriteLine(logger.Count);

                Console.WriteLine($"Оставить записи за последний час...");
                logger.LeaveLinesByLastHour();

                Console.Write($"\nЧисло записей: ");
                Console.WriteLine(logger.Count);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }