У меня есть каталог мусора, в котором я загружаю загрузки, одноразовые проекты, черновики и другие различные вещи, которые могут быть полезны в течение нескольких дней, но их не нужно сохранять навсегда. Чтобы эта директория не перехватила мой компьютер, я написал программу, которая удалит все файлы старше указанного количества дней и зарегистрирует некоторую статистику о количестве удаленных файлов и их размере только для удовольствия.
Я заметил, что несколько папок проекта живут намного дольше, чем нужно, поэтому я начал исследовать. В частности, казалось, что папки для проектов, в которых я использовал SVN, торчали вокруг. Оказывается, что файлы только для чтения в каталогах .svn не удаляются. Я просто сделал простой тест в файле только для чтения и обнаружил, что System.IO.File.Delete
и System.IO.FileInfo.Delete
не будут удалять файл только для чтения.
Мне не нужно защищать файлы в этом конкретном каталоге; если что-то важное в нем находится в неправильном месте. Есть ли класс .NET, который может удалять файлы только для чтения, или мне придется проверять атрибуты только для чтения и стирать их?