Помогите поправить код C#

Ptereks

Client
Регистрация
07.03.2019
Сообщения
70
Благодарностей
18
Баллы
8
Есть папка с профилями и есть файл с аккаунтами.
Надо узнать к каким аккаунтам из файла нету профилей, а к каким есть, сохранить их в разные файлы + удалить профиля, если нету данных аккаунтов в файле с аккаунтами.
Собственно сам код:
Код:
var listProfiles = project.Lists["profiles"];
var listDone = project.Lists["done"];
var source = project.Lists["source"];
string profileName;
string path;

for (int i = 0; i<listProfiles.Count; i++)
{
    profileName = listProfiles[i];
    path = profileName;
    var regexGroups = Macros.TextProcessing.Regex(profileName, @"(?<=profiles\\).*?(?=\.zpprofile)", "0");
    profileName = regexGroups[0].FirstOrDefault();

    if (!source.Any(s => s.Contains(profileName)))// если совпадений не найдено - выход по красной
    // если есть совпадения - выход по зеленой
    {
        System.IO.File.Delete(path);
    }
    else
    {
        for (int z = 0; z<source.Count; z++)
        {
            if (source[z].Contains(profileName))
            {
                listDone.Add(source[z]);
                    source.RemoveAt(z);
                }
            }
        }
}
Или как данный кубик в C# перегнать:
98722
 
Последнее редактирование:

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
C#:
string directory_path = Path.Combine(project.Directory, "Profiles");//путь к папке с профилями
string accslist_path = Path.Combine(project.Directory, "profilesList.txt");//путь к списку аккаунтов

//соберу список файлов
var existing_accs_list = Directory.GetFiles(directory_path).ToList();
//удалю лишние строки из списка аккаунтов
var listProfiles = File.ReadAllLines(accslist_path).ToList();
listProfiles = listProfiles.Except(existing_accs_list.Select(x=>Path.GetFileNameWithoutExtension(x))).ToList();
File.WriteAllLines(accslist_path, listProfiles);
//удалю лишние профиля из папки
existing_accs_list.Except(listProfiles).ToList().ForEach(x=>File.Delete(x));
пробуйте на кошках сперва, писал на коленке
 
  • Спасибо
Реакции: Ptereks и BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
C#:
string directory_path = Path.Combine(project.Directory, "Profiles");//путь к папке с профилями
string accslist_path = Path.Combine(project.Directory, "profilesList.txt");//путь к списку аккаунтов

//соберу список файлов
var existing_accs_list = Directory.GetFiles(directory_path).ToList();
//удалю лишние строки из списка аккаунтов
var listProfiles = File.ReadAllLines(accslist_path).ToList();
listProfiles = listProfiles.Except(existing_accs_list.Select(x=>Path.GetFileNameWithoutExtension(x))).ToList();
File.WriteAllLines(accslist_path, listProfiles);
//удалю лишние профиля из папки
existing_accs_list.Except(listProfiles).ToList().ForEach(x=>File.Delete(x));
пробуйте на кошках сперва, писал на коленке
Не хиленькая такая "коленка" :-))
Красавчик однозначно!
Респект в карму!
 
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113

Ptereks

Client
Регистрация
07.03.2019
Сообщения
70
Благодарностей
18
Баллы
8
А если файл с аккаунтами, по мимо имени логина, совпадающего с именем профайла, содержит пароль, телефон, т.е. имеет такой формат:
log:pass:phone
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)