Вопрос

Есть ли какой-либо способ в C # (возможно, взаимодействие) удалить определенный файл из корзины навсегда?

При поиске в Интернете я нашел только способы удаления В корзину не ИЗ.Я также не хочу очищать всю корзину целиком, только один конкретный файл.Конкретный элемент уже находится в корзине.

Как я могу это сделать?

Редактировать:

  1. Я не помещал туда ни файл сам, ни свою программу.Это сделал кто-то другой, так что я не могу это контролировать.
  2. Поиск Windows каким-то образом может найти мой файл ...?!?

Я выяснил еще кое-что, я действительно могу найти файл в C: ECYCLER с тем же расширением файла, но с другим именем.Итак, как я могу определить, действительно ли это тот файл, который я ищу?

Это было полезно?

Другие советы

using Shell32;

var Shl = новая оболочка();

// Get recycle folder

Folder Recycler = Shl.NameSpace(10);
FolderItems items = Recycler.Items();
for (int i = 0; i < items.Count; i++)
{
    try
    {
        FolderItem FI = items.Item(i);
        string FileName = Recycler.GetDetailsOf(FI, 0);
        string FilePath = Recycler.GetDetailsOf(FI, 1);
        string RecyleDate = Recycler.GetDetailsOf(FI, 2);
        if (FileName == "your file/folder")
        {
            // check if chosen item is a folder
            if (FI.IsFolder)
            {
                Directory.Delete(FI.Path, true);
            }
            else
            {
                File.Delete(FI.Path);
            }
        }
    }
    catch (Exception exc)
    {
        ...
    }

Надеюсь, это может быть полезно.Работает на меня )

Я никогда не пробовал это, но вы можете найти элемент, который хотите удалить, в скрытой папке "RECYCLER", которая есть у каждого устройства, и удалить его.

Возможно, это глупый вопрос, но попал ли файл в корзину, потому что ваша программа поместила его туда?Если это так, вы можете просто удалить файл с помощью обычных файловых операций и полностью обойти корзину.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top