vb. net помогите, как пропустить удаление файла без разрешения - PullRequest
0 голосов
/ 04 мая 2020

На VB. net я делал очиститель файлов, который удалял такие вещи, как temp et c, однако с папками, такими как prefetch и temp, где некоторые из них используются в то время, есть способ сделать программу пропустите ненужные файлы и очистите все остальное, спасибо

Ответы [ 3 ]

0 голосов
/ 04 мая 2020

Вам нужно заключить процедуру удаления в оператор try catch:

Try
  System.IO.File.Delete([FILENAME])
Catch ex as Exception
  'Log out to console
  Console.WriteLine(ex.Message)
End Try
0 голосов
/ 04 мая 2020

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

Таким образом, единственный способ go - поместить Try / Catch вокруг каждой файловой операции (или принять возможность того, что сбой может привести к взлому sh).

Полученный псевдокод выглядит примерно так:

For Each (item in top-level list of places to search)
    Try
        'If directory, try to enter it.  If successful, recurse.
        'If file, try to delete it.
    Catch
        'Can log or just skip, this is a valid case to eat an exception
        'At a minimum, you might see a System.IO.IOException or a couple of different security-related exceptions
    End Try
Next
0 голосов
/ 04 мая 2020

Вы должны использовать следующий код для события нажатия кнопки (требуется администратор):

Shell("CLEANMGR", "/d <drive_letter> /sagerun:64")

Следующие элементы могут быть удалены при выполнении вышеуказанного кода:

  • Временно Inte rnet Файлы
  • Временные установочные файлы
  • Загруженные программные файлы
  • Старые файлы CHKDSK
  • Корзина
  • Временные файлы
  • Windows Журнал DUMP и ошибок

Источник использования CleanMGR: переключатели командной строки cleanmgr ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...