Как удалить файлы с атрибутом только для чтения?
Цитата: Удаленный пользователь от 07.02.2022, 20:39А если убрать try catch в методе Хачатура, у Вас появится исключение?
[spoiler title="code"]using System; using System.IO; using System.Linq; namespace Delete { class Program { public static void Main(string[] args) { EmptyFolder(args, "*"); Console.Write("Готово"); Console.ReadKey(true); } // Удалить всё содержимое от XpucT public static void EmptyFolder(string[] array, string mask) { foreach (string x in array) { if (Directory.Exists(x)) { Directory.GetFiles(x, mask, SearchOption.AllDirectories).AsParallel().ForAll(y => { File.SetAttributes(y, File.GetAttributes(y) & ~FileAttributes.ReadOnly); File.Delete(y); }); Directory.GetDirectories(x, mask, SearchOption.AllDirectories).AsParallel().ForAll(y => { Directory.Delete(y, true); }); } } } } }[/spoiler]
А если убрать try catch в методе Хачатура, у Вас появится исключение?
using System;
using System.IO;
using System.Linq;
namespace Delete {
class Program {
public static void Main(string[] args) {
EmptyFolder(args, "*");
Console.Write("Готово");
Console.ReadKey(true);
}
// Удалить всё содержимое от XpucT
public static void EmptyFolder(string[] array, string mask) {
foreach (string x in array) {
if (Directory.Exists(x)) {
Directory.GetFiles(x, mask, SearchOption.AllDirectories).AsParallel().ForAll(y => {
File.SetAttributes(y, File.GetAttributes(y) & ~FileAttributes.ReadOnly);
File.Delete(y);
});
Directory.GetDirectories(x, mask, SearchOption.AllDirectories).AsParallel().ForAll(y => {
Directory.Delete(y, true);
});
}
}
}
}
}
Цитата: Удаленный пользователь от 07.02.2022, 20:46Да, убрал все
try catch.
Вот скриншот
Да, убрал все Скопированоtry catch.
Вот скриншот
Цитата: Удаленный пользователь от 07.02.2022, 20:56У меня скорее всего Windows покалеченный. Тут даже на странице поддержки пишут.
У меня скорее всего Windows покалеченный. Тут даже на странице поддержки пишут.
Цитата: Удаленный пользователь от 07.02.2022, 20:58Может быть, но Я поймал такое же исключение удаляя такие папки, может они защищаются, но в Вашем случае не понятно. Можно попробовать выдавать права на папку и все что внутри, чтобы наверняка
Может быть, но Я поймал такое же исключение удаляя такие папки, может они защищаются, но в Вашем случае не понятно. Можно попробовать выдавать права на папку и все что внутри, чтобы наверняка
Цитата: Удаленный пользователь от 07.02.2022, 21:01Да, я удалял такие папки. Вот что у меня сейчас. Сейчас попробую их воссоздать.
Да, я удалял такие папки. Вот что у меня сейчас. Сейчас попробую их воссоздать.
Цитата: Удаленный пользователь от 07.02.2022, 21:01Это необязательно, если они сами не создадутся. Я сам такие папки сношу, не люблю лишний мусор
Это необязательно, если они сами не создадутся. Я сам такие папки сношу, не люблю лишний мусор
Цитата: Удаленный пользователь от 07.02.2022, 21:13Проверил в VirtualBox, тоже самое.
Проверил в VirtualBox, тоже самое.
Цитата: Удаленный пользователь от 07.02.2022, 21:27Мутное это дело... У Меня удаляется. Такое исключение ловлю на защищенных папках. UAC на виртуалке включен, запуск приложения был без Админских прав.
[spoiler title="видео"][/spoiler]
Мутное это дело... У Меня удаляется. Такое исключение ловлю на защищенных папках. UAC на виртуалке включен, запуск приложения был без Админских прав.
Цитата: Удаленный пользователь от 07.02.2022, 22:18Вот это Я вафля... Папка не удаляется, если у нее есть иконка, извиняюсь, сразу не понял, читать разучился. Сначала подумал, что это из-за иконки в %SystemRoot%\System32\SHELL32.dll выдается исключение, но нет. Любая иконка делает исключение. Очень странно, что пишет: Отказано в доступе. Не имеет значение от Админа или нет. Через cmd да, улетает без прав Админа
Вот это Я вафля... Папка не удаляется, если у нее есть иконка, извиняюсь, сразу не понял, читать разучился. Сначала подумал, что это из-за иконки в %SystemRoot%\System32\SHELL32.dll выдается исключение, но нет. Любая иконка делает исключение. Очень странно, что пишет: Отказано в доступе. Не имеет значение от Админа или нет. Через cmd да, улетает без прав Админа
Цитата: Удаленный пользователь от 07.02.2022, 22:46Через CMD я так просто не удалю desktop.ini. Он может быть с атрибутами RHS. Приходится снимать атрибуты.
Список атрибутов есть в Everything.
Через CMD я так просто не удалю desktop.ini. Он может быть с атрибутами RHS. Приходится снимать атрибуты.
Список атрибутов есть в Everything.