Как удалить файлы с атрибутом только для чтения?
Цитата: yuri от 07.02.2022, 20:21Хммм, у Меня в папке все сносится...
Хммм, у Меня в папке все сносится...
Цитата: --- НЛО --- от 07.02.2022, 20:25Может это потому что я работаю с SharpDevelop, а он поддерживает только C# 5 и .NET Framework 4.5.2?
Может это потому что я работаю с SharpDevelop, а он поддерживает только C# 5 и .NET Framework 4.5.2?
Цитата: yuri от 07.02.2022, 20:25Да, думаю в этом причина, Я просто обновил Ваш проект до новой версии, сейчас попробую на Вашей
Да, думаю в этом причина, Я просто обновил Ваш проект до новой версии, сейчас попробую на Вашей
Цитата: yuri от 07.02.2022, 20:32Очень странно, открыл Ваш проект в SharpDevelop, и скомпилировал, внутри папки тоже все удаляется -_-
Очень странно, открыл Ваш проект в SharpDevelop, и скомпилировал, внутри папки тоже все удаляется -_-
Цитата: --- НЛО --- от 07.02.2022, 20:36Может это потому что я в Windows удалил все что имеет в названии:
- Xbox
- OneDrive
- Microsoft Store
- Flash Player
- Windows Defender
Может это потому что я в Windows удалил все что имеет в названии:
- Xbox
- OneDrive
- Microsoft Store
- Flash Player
- Windows Defender
Цитата: yuri от 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 покалеченный. Тут даже на странице поддержки пишут.
Цитата: yuri от 07.02.2022, 20:58Может быть, но Я поймал такое же исключение удаляя такие папки, может они защищаются, но в Вашем случае не понятно. Можно попробовать выдавать права на папку и все что внутри, чтобы наверняка
Может быть, но Я поймал такое же исключение удаляя такие папки, может они защищаются, но в Вашем случае не понятно. Можно попробовать выдавать права на папку и все что внутри, чтобы наверняка
Цитата: --- НЛО --- от 07.02.2022, 21:01Да, я удалял такие папки. Вот что у меня сейчас. Сейчас попробую их воссоздать.
Да, я удалял такие папки. Вот что у меня сейчас. Сейчас попробую их воссоздать.
Цитата: --- НЛО --- от 07.02.2022, 21:13Проверил в VirtualBox, тоже самое.
Проверил в VirtualBox, тоже самое.
Цитата: yuri от 07.02.2022, 21:27Мутное это дело... У Меня удаляется. Такое исключение ловлю на защищенных папках. UAC на виртуалке включен, запуск приложения был без Админских прав.
[spoiler title="видео"][/spoiler]
Мутное это дело... У Меня удаляется. Такое исключение ловлю на защищенных папках. UAC на виртуалке включен, запуск приложения был без Админских прав.