Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
bossforU
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 22
1

Найти все группы одинаковых файлов ненулевой длины в заданном каталоге и его подкаталогах

14.06.2012, 19:39. Просмотров 998. Ответов 4
Метки нет (Все метки)

Ребята помоги-те, уже долго пытаюсь понять как это сделать, но получилось только отксанить папку... и то где-то нарыл исходник. Таску закатал препод, сказал напишешь практику засчитает...

Найти все группы одинаковых файлов ненулевой длины в заданном каталоге и его подкаталогах. Одинаковыми файлами считаются такие файлы, в которых совпадает содержание. Дополнительные атрибуты файлов, права доступа, альтернативные потоки данных, или любые другие особенности конкретных реализаций файловых систем на сравнение не влияют. Программа должна вывести полные пути к найденных файлов в пределах каждой группы. Группы должны отделяться одной пустой лентой. Каталог, в рамках которого необходимо осуществлять поиск, должен задаваться в командной строке программы.

Добавлено через 35 минут
читал реализовать можно через System.IO, но сколько не пробовал, ничего не получалось....
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2012, 19:39
Ответы с готовыми решениями:

В заданном каталоге сравнить все файлы по содержимому и вывести список одинаковых
Здравствуйте, уважаемые форумчане! Есть задача: нужно в заданном каталоге сравнить все файлы по...

Как получить файлы не только в каталоге, но и его подкаталогах
Получается считать один подкаталог и все его файлы.Но нада все подкаталоги начиная с указанного. ...

Программа, которая составляет список файлов нулевой длины в текущем каталоге и во всех его подкаталогах
Написать программу, которая составляет список файлов нулевой длины в текущем каталоге и во всех его...

В заданном каталоге и его подкаталогах найти общее количество подкаталогов
Код КФ получился такой: @echo off for /D %%i in (%1\*.*) do set /A i+=1 echo The total number of...

В заданном каталоге и его подкаталогах найти и удалить файлы c указанным именем и с определёнными расширениями
Здравствуйте) Вот такое задание у меня: В заданном каталоге и его подкаталогах найти и удалить...

4
Монфрид
1215 / 1025 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
14.06.2012, 23:17 2
ну покажите что не получается то, где вы пытались что то сделать
0
bossforU
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 22
15.06.2012, 00:14  [ТС] 3
урывки есть только:
C#
1
2
3
4
5
6
7
8
9
string   fileName = @"C:\TMP\log.txt";
FileInfo fileInfo = new FileInfo(fileName);
if (!fileInfo.Exists)
{
    return;
}
 
Console.WriteLine("{0} has a directoryName of {1}",
    fileName, fileInfo.DirectoryName);
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 class GetFiles
        {
            static void scan()
            {
                string dir;
                Console.WriteLine("enter way to dir");
                dir = Console.ReadLine();
                // Витягує список файлів заданої директорії.
                string[] files = Directory.GetFiles(dir, "*.*", SearchOption.AllDirectories);
                Console.ReadKey(); // getch();
 
 
            }
 
 
        }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  private bool FileCompare(string file1, string file2)
        {
            int file1byte;
            int file2byte;
            FileStream fs1;
            FileStream fs2;
 
            
            if (file1 == file2)
            {
                
                return true;
            }
 
            
            fs1 = new FileStream(file1, FileMode.Open);
            fs2 = new FileStream(file2, FileMode.Open);
 
            
            if (fs1.Length != fs2.Length)
            {
                
                fs1.Close();
                fs2.Close();
 
                return false;
            }
 
            // Read and compare a byte from each file until either a
           
            do
            {
              
                file1byte = fs1.ReadByte();
                file2byte = fs2.ReadByte();
            }
            while ((file1byte == file2byte) && (file1byte != -1));
 
            
            fs1.Close();
            fs2.Close();
 
            
            return ((file1byte - file2byte) == 0);
        }
Добавлено через 31 секунду
1. ПУТЬ
2. скан папки
3.сравнение 2ух файлов
0
Монфрид
1215 / 1025 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
15.06.2012, 08:33 4
я думаю, вам лучше будет информацию о найденных файлах запихать в какой то массив, и потом в этом массиве искать то что нужно
0
bossforU
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 22
15.06.2012, 19:19  [ТС] 5
не понимаю как..
0
15.06.2012, 19:19
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2012, 19:19

Вывести на консоль размеры и права доступа для всех файлов в заданном каталоге и всех его подкаталогах
Написать скрипт с использованием цикла for, выводящий на консоль размеры и права доступа для всех...

Вывести на экран абсолютные пути всех файлов, которые находятся в заданном каталоге и всех его подкаталогах
Не могу вернуть масив с директориями...( Если выводить на экран в цикле, то все нормально, но...

В заданном каталоге и его подкаталогах найти общее количество подкаталогов. На экран вывести только требуемый результат. Использовать цикл FOR /D
Нашел, скопировал в файл, а как подсчитать и вывести количество???? @echo off cls FOR /r...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru