Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Удаление файлов в спец папке Добавлено: 29.12.06 14:17  

Автор вопроса:  ZXC
Нужно удалить файлы cookie из этой папки
C:\Documents and Settings\Администратор\Local Settings\Temporary Internet Files


там файлы cookie поидеии в формате txt, использую этот код:

      For Each Files As Object In Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache), "*.txt")
            File.Delete(txtFile)
        Next


не удаляет нечего, вообщем как стереть именно файлы cookie или как вообще удалить от туда всё? вот этот код очищает полностью папку:
      For Each Files As Object In Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)
            File.Delete(txtFile)
        Next

Но тут он не работает, что делать?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #1 Добавлено: 29.12.06 16:53
Пуск-выполнить...

cd Environment.SpecialFolder.InternetCache
del *.*

Ответить

Номер ответа: 2
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #2 Добавлено: 30.12.06 20:59
Мне надо на vb.net реализовать =)

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 01.01.07 15:27
1. Ты объявляешь For Each Files As Object.. Почему именно Object??? Ведь GetFiles возвращает массив типа String!!
2. Ты объявляешь For Each Files As Object... А в процедуре удаления используешь
File.Delete(txtFile)???
И с какой радости после всего этого у тебя будет что то удаляться?????
3. Даже если ты исправишь указанные ошибки, то твой код все равно не очистит указанную папку. И причина тому заключается в следующем:
Когда ты в проводнике открываешь указанную папку(C:\Documents and Settings\Администратор\Local Settings\Temporary Internet Files), ты видешь кучу файлов,страниц,куков,картинок и т.д.. НО!!! Реально эти файлы находятся совсем не в этой папке! Они лишь там отображаются! Они находятся во вложенных скрытых системных папках! И для очишения этой папки тебе надо рекурсивно перебрать все вложенные папки и файлы и удалить все содержимое..
Вот как то так
        Dim rootPath As String = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)

        For Each _Dir As String In Directory.GetDirectories(rootPath)
            Try
                '// Рекурсивно удаляем все вложенные папки и файлы
                ;Directory.Delete(_Dir, True)
            Catch ex As Exception
                '// Страховка на тот случай, если файл занят другим процессом
                Console.WriteLine(ex.Message)
            End Try
        Next

        For Each _file As String In Directory.GetFiles(rootPath)
            Try
                File.Delete(_file)
            Catch ex As Exception
                '// Опять таки страхуемся
                Console.WriteLine(ex.Message)
            End Try
        Next


А для удаления тольков куков тебе необходимо написать процедуру рекурсивного обхода вложенных папок и удаления файлов по маске..

Ответить

Номер ответа: 4
Автор ответа:
 ZXC



Вопросов: 30
Ответов: 106
 Профиль | | #4 Добавлено: 02.01.07 02:23
Спасибо

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам