Как найти похожий файл

Joined
Jan 28, 2024
Messages
322
Reaction score
33
Points
28
Всем привет!

есть 2 папки:

Папка 1 с файлами
4567.zip
4757.zip
45777.zip
6573.zip
45.zip
567.zip

И папка 2 с файлами
4567.rar
4757.rar
45777.rar
6573.rar
45.rar
567.rar

Нужно взять из 2 папок одинаковые файлы. Из папки 1 файл 45777 и папки 2 файл 45777

По идеи получается:
Получить список 1 папки - взять файл 45777
Как взять из 2 папки с таким же названием файл?
 

SanchoPancho

Client
Joined
Dec 9, 2015
Messages
176
Reaction score
88
Points
28
регуляркой вытягиваешь само название без .zip и ищешь во втором списке
 
Joined
Jan 28, 2024
Messages
322
Reaction score
33
Points
28
регуляркой вытягиваешь само название без .zip и ищешь во втором списке
а как искать во 2 списке? Логику не могу выстроить
 
Last edited:

SanchoPancho

Client
Joined
Dec 9, 2015
Messages
176
Reaction score
88
Points
28
Получить строку / Содержит текст {name}.rar

в переменной {name} у нас лежит имя файла с первого списка
 
Last edited:
  • Thank you
Reactions: уауауауа

Dmitriy_Zenno

Administrator
Joined
Oct 28, 2025
Messages
501
Reaction score
213
Points
43
Всем привет!

есть 2 папки:

Папка 1 с файлами
4567.zip
4757.zip
45777.zip
6573.zip
45.zip
567.zip

И папка 2 с файлами
4567.rar
4757.rar
45777.rar
6573.rar
45.rar
567.rar

Нужно взять из 2 папок одинаковые файлы. Из папки 1 файл 45777 и папки 2 файл 45777

По идеи получается:
Получить список 1 папки - взять файл 45777
Как взять из 2 папки с таким же названием файл?
Здравствуйте,

Можно через С# сниппет

C#:
string path1 = @"C:\Folder1"; // Путь к первой папке
string path2 = @"C:\Folder2"; // Путь ко второй папке

// Получаем имена файлов без расширений из первой папки
var files1 = Directory.GetFiles(path1)
    .Select(Path.GetFileNameWithoutExtension);

// Получаем имена файлов без расширений из второй папки
var files2 = Directory.GetFiles(path2)
    .Select(Path.GetFileNameWithoutExtension);

// Находим пересечение (общие имена)
var commonFiles = files1.Intersect(files2);

if (commonFiles.Any())
{
    project.SendInfoToLog("Найдены похожие файлы:", true);
    foreach (var name in commonFiles)
    {
        project.SendInfoToLog(name, true);
    }
}
else
{
    project.SendInfoToLog("Совпадений не найдено.", true);
}
 
  • Thank you
Reactions: уауауауа

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)