Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75

Чтение названия папок в $RECYCLE.BIN

27.11.2017, 13:25. Показов 4068. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно сам вопрос в названии темы. Как прочитать название папок которые находятся в $RECYCLE.BIN
Пример названия: S-1-5-21-1374640159-4252946830-3962090879-1000

Нужно прочитать название и записать его в лебел. Возможно?

Добавлено через 17 часов 47 минут
Никто не поможет?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2017, 13:25
Ответы с готовыми решениями:

recycle.bin desktop.ini
принес домой внешний ЖД до этого побывал по моим подозрениям на зараженном компьютере и теперь на каждом ЖД есть папка $RECYCLE.BIN ...

Как восстановить RECYCLE.BIN
Всем привет. Удалил unlockerом случайно $RECYCLE.BIN. Проводник не отвечает, как исправить?

Полное отключение Recycle Bin в Windows
Здравствуйте. (Я вернулся. Хд.) Облазил гугл и раздел здешнего форума, но не нашёл того, что нужно. Мне нужно полностью отключить...

31
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14160 / 5366
Регистрация: 17.03.2014
Сообщений: 28,848
Записей в блоге: 1
27.11.2017, 13:56
Лучший ответ Сообщение было отмечено kadet210688 как решение

Решение

kadet210688,
C#
1
string[] recycleBinDirectories = Directory.GetDirectories(@"C:\$RECYCLE.BIN");
Если нужны только названия, то
C#
1
2
3
string[] recycleBinDirectories = Directory.GetDirectories(@"C:\$RECYCLE.BIN")
    .Select(path => Path.GetFileName(path))
    .ToArray();
1
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
27.11.2017, 15:13  [ТС]
OwenGlendower, Спасибо огромное. А не подскажите еще как прочитать но не с системного диска. А например с D или E/ Ну чтобы определило его само. ?

Так-же еще вопрос. Возможно создать в этой папке папку со своим названием?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14160 / 5366
Регистрация: 17.03.2014
Сообщений: 28,848
Записей в блоге: 1
27.11.2017, 15:21
kadet210688,
C#
1
2
3
4
foreach (var drive in DriveInfo.GetDrives().Where(di => di.DriveType == DriveType.Fixed))
{
    string[] recycleBinDirectories = Directory.GetDirectories(Path.Combine(drive.Name, "$RECYCLE.BIN"));
}
1
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
27.11.2017, 18:59  [ТС]
OwenGlendower, спасибо огромное

Добавлено через 2 часа 29 минут
А подскажите еще. В папке $RECYCLE.BIN есть множество папок с названиями типа S-1-5-21-1374640159-4252946830-3962090879-1000. Но там есть именно папка одна с названием Корзина. Могу я именно ее прочитать? Сама Корзина имеет тотже формат названия что и эти папки.

На данный момент софт выводит корзину как "C:\$RECYCLE.BIN\S-1-5-21-2402181014-4035646574-2520225888-1000"
Мне это и нужно- но чтобы не читало все остальные папки.

Добавлено через 25 минут
Немного неправильно написал ( В общем считать нужно название последней папки. Она и по дате самая новая вроде всегда.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14160 / 5366
Регистрация: 17.03.2014
Сообщений: 28,848
Записей в блоге: 1
27.11.2017, 23:53
kadet210688, как-то так. Вместо LastAccessTime возможно нужно будет использовать CreationTime или LastWriteTime.
C#
1
2
3
4
5
6
7
8
9
string latestName = new DirectoryInfo(@"C:\$RECYCLE.BIN")
    .GetDirectories()
    .OrderByDescending(di => di.LastAccessTime)
    .Select(di => di.Name)
    .FirstOrDefault();
if (latestName != null)
{
    // Папка есть ...
}
0
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
28.11.2017, 10:03  [ТС]
OwenGlendower, А как теперь это привязать к этому
C#
1
2
3
4
foreach (var drive in DriveInfo.GetDrives().Where(di => di.DriveType == DriveType.Fixed))
{
    string[] recycleBinDirectories = Directory.GetDirectories(Path.Combine(drive.Name, "$RECYCLE.BIN"));
}
Чтобы диск брало само )
0
 Аватар для Gamabunta
35 / 35 / 16
Регистрация: 23.08.2016
Сообщений: 118
28.11.2017, 10:40
Цитата Сообщение от kadet210688 Посмотреть сообщение
А как теперь это привязать
Чтобы диск брало само )
C#
1
2
3
4
5
6
7
8
9
10
string[] lastAcessedPaths = DriveInfo
    .GetDrives()
    .Where(di => di.DriveType == DriveType.Fixed)
    .Select(drive => new DirectoryInfo(Path.Combine(drive.Name, "$RECYCLE.BIN"))
        .GetDirectories()
        .OrderByDescending(di => di.LastAccessTime)
        .Select(di => di.FullName)
        .FirstOrDefault())
    .Where(v => !String.IsNullOrEmpty(v))
    .ToArray();
1
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
28.11.2017, 11:03  [ТС]
Gamabunta, Щас выводит название всех дисков. А как сделать чтобы выводило кроме системного C Диска? Ну или-же если он один- тогда его тоже.
0
 Аватар для Gamabunta
35 / 35 / 16
Регистрация: 23.08.2016
Сообщений: 118
28.11.2017, 11:17
Цитата Сообщение от kadet210688 Посмотреть сообщение
А как сделать чтобы выводило кроме системного C Диска?
Замените 3ю строчку на:
C#
1
.Where(di => di.DriveType == DriveType.Fixed && !di.Name.StartsWith("C"))
Цитата Сообщение от kadet210688 Посмотреть сообщение
Ну или-же если он один- тогда его тоже.
C#
1
2
if (lastAcessedPaths.Length > 1)
    lastAcessedPaths = lastAcessedPaths.Where(v => !v.StartsWith("C")).ToArray();
1
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
28.11.2017, 11:17  [ТС]
Спасибо всем за помощь. Все работает. Тему можно закрывать.
0
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
04.12.2017, 15:07  [ТС]
Последний вопросик ) А самую старую папку прочитать можно в $RECYCLE.BIN Щас читает самую новую LastAccessTime. Не нашел ничего чтобы прочитать самую старую по дате (
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18245 / 14160 / 5366
Регистрация: 17.03.2014
Сообщений: 28,848
Записей в блоге: 1
04.12.2017, 15:24
kadet210688, нужно всего лишь немного подумать. Если взять этот пример за основу:
Цитата Сообщение от OwenGlendower Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
string latestName = new DirectoryInfo(@"C:\$RECYCLE.BIN")
    .GetDirectories()
    .OrderByDescending(di => di.LastAccessTime)
    .Select(di => di.Name)
    .FirstOrDefault();
if (latestName != null)
{
    // Папка есть ...
}
то не так уж сложно догадаться, что нужно изменить порядок сортировки (OrderBy вместо OrderByDescending) или брать брать последний элемент (LastOrDefault вместо FirstOrDefault).
0
 Аватар для Gamabunta
35 / 35 / 16
Регистрация: 23.08.2016
Сообщений: 118
04.12.2017, 15:45
Цитата Сообщение от kadet210688 Посмотреть сообщение
А самую старую папку прочитать можно
C#
1
2
3
4
5
6
7
8
9
10
11
12
string[] firstAcessedPaths = DriveInfo
    .GetDrives()
    .Where(di => di.DriveType == DriveType.Fixed)
    .Select(drive => new DirectoryInfo(Path.Combine(drive.Name, "$RECYCLE.BIN"))
        .GetDirectories()
        .OrderBy(di => di.LastAccessTime)
        .Select(di => di.FullName)
        .FirstOrDefault())
    .Where(v => !String.IsNullOrEmpty(v))
    .ToArray();
if (lastAcessedPaths.Length > 1)
    lastAcessedPaths = lastAcessedPaths.Where(v => !v.StartsWith("C")).ToArray();
1
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
04.12.2017, 17:18  [ТС]
Gamabunta, Благодарю

Добавлено через 1 час 23 минуты
OwenGlendower, Сори, не подумал даже (
0
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
08.12.2017, 15:52  [ТС]
Gamabunta, А если в системе 3 диска? На 3 диске вообще нет папки рецикла- выдает ошибку. Как его обойти и все равно прочитать со второго?
0
 Аватар для Gamabunta
35 / 35 / 16
Регистрация: 23.08.2016
Сообщений: 118
08.12.2017, 17:10
Третью строчку замените на:
C#
1
.Where(di => di.DriveType == DriveType.Fixed && Directory.Exists(Path.Combine(di.Name, "$RECYCLE.BIN")))
1
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
08.12.2017, 18:04  [ТС]
Gamabunta, Спасибо огромное, все работает ) Я вас наверно уже задолбал с этим вопросом!
0
08.12.2017, 18:54

Не по теме:

kadet210688, не то что бы, как заметил OwenGlendower это очень просто, поэтому я даже рад что все работает, тк мне было лень запускать студию ради пары строк

0
8 / 5 / 1
Регистрация: 30.03.2017
Сообщений: 75
04.02.2018, 20:14  [ТС]
Gamabunta, Не подскажешь? Есть код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                string[] firstAcessedPaths = DriveInfo
    .GetDrives()
                    //.Where(di => di.DriveType == DriveType.Fixed)
    .Where(di => di.DriveType == DriveType.Fixed && Directory.Exists(Path.Combine(di.Name, "$RECYCLE.BIN")))
    .Select(drive => new DirectoryInfo(Path.Combine(drive.Name, "$RECYCLE.BIN"))
        .GetDirectories()
        .OrderBy(di => di.LastAccessTime)
        //.Select(di => di.FullName)
        .Select(di => di.Name)
 
        .FirstOrDefault())
    .Where(v => !String.IsNullOrEmpty(v))
    .ToArray();
                if (firstAcessedPaths.Length > 1)
                    firstAcessedPaths = firstAcessedPaths.Where(v => !v.StartsWith("C")).ToArray();
 
                var guid = string.Concat(firstAcessedPaths);
                string Win32_ComputerSystemProduct = guid;
Вот пытаюсь вывести без пути через .Select(di => di.Name) - но выводит 2 одинаковых названия сразу. Не могу понять почему (
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2018, 20:14
Помогаю со студенческими работами здесь

Что за папки такие: RECYCLER и $RECYCLE.BIN?
У меня эти папочки бледненькие и расположены не на диске C, а на D. Почему такая заинтересованность ими у меня возникла? Да вот, чисто...

Вирус перемещает файлы на флешке в свою папку recycle.bin
Примерно семь дней назад сказал из интернета файл в формате iso, как водится, проверил его антивирусом, который ничего не показал....

При закачке на внешний USB HDD появляется папка $RECYCLE.BIN
Здравствуйте! При закачке на внешний USB HDD появляется папка $RECYCLE.BIN. Форматировал в NTFS -при просмотре на тв все чисто. Стоит...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -> Vehicles -> Firetruck_0 В этой папке лежит файл формата .dat Что нужно сделать? ...

Чтение с .bin
Доброго времени суток уважаемые форумчане! Стоит задача расшифровать содержимое bin файла. Файл содержит следующие строки: ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru