Как удалить файл или папку, которые не удаляются, защищены от записи или к ним отсутствует доступ?
Вы не можете полностью удалить папку или несколько файлов с компьютера или ноутбука? Windows выдает сообщение об ошибке доступа? Это может происходить по самым разнообразным причинам во время удаления, редактирования или перезаписи файлов. Читайте, как удалить файл или папку, которые не удаляются по причине защиты от записи, отсутствия доступа, заражения вирусом или открытия файла в неизвестной программе.

Перейти к просмотру

- Диск защищен от записи
- Не удалось найти этот элемент
- Отсутствие прав на изменение файлов
- Файл или папка не может быть удалена так, как открыта в другой программе
- Вопросы и ответы
- Комментарии
Диск защищен от записи
Если при попытке удаления файла или папки с флешки, карты памяти или жесткого диска вы получаете сообщение: «Диск защищен от записи» (The disk is write-protected), то на него установлена защита от записи.

О том, как разблокировать защищенную от записи флешку, карту памяти или жесткий диск у нас есть отдельная статья. Тема довольно обширная. Поэтому, ознакомиться с ней вы можете перейдя к статье по данной ссылке: Как разблокировать защищенную от записи флешку, карту памяти или жесткий диск в Windows 10, 8, 7.
Или посмотрев отдельное видео.
Перейти к просмотру

Не удалось найти этот элемент
Если во время удаления файла или папки вы получаете сообщение: «Не удалось найти этот элемент. Проверьте расположение этого элемента и повторите попытку», то причин его возникновения может быть несколько:
- Сбой в системе (глюк с правами на удаляемый файл или папку; проблема с именем папки или файла: оно может быть как слишком длинное, так и содержать в себе некоторые символы, с которыми система конфликтует при удалении, и т.д.)
- Компьютер заражен вирусом.

В такой ситуации, для удаления файла или папки, которые выдают ошибку, попробуйте использовать такие утилиты как:


Если использование указанных выше программ не принесло желаемого результата, то загрузите систему в безопасном режиме и попробуйте удалить нужный файл или папку из-под него. Если причиной блокировки будет вирус, то в большинстве случаев вы сможете удалить файлы без каких-либо дополнительных действий.

Отсутствие прав на изменение файлов
Если Windows выдает сообщение об отсутствии прав на изменение файлов, то чтобы удалить или изменить данный файл, используемая учётная запись должна обладать правами администратора. Загрузитесь под учетной записью администратора компьютера. Иначе никак…


Файл или папка не может быть удалена так, как открыта в другой программе
Если Windows выдает сообщение о том, что файл или папка не может быть удалена так, как открыта в другой программе, то запомните название программы и выполните следующие действия:

- Нажмите сочетание клавиш «Windows + r».
- В окне выполнить введите resmon.exe и нажмите Enter.


Если у вас не получилось удалить файлы или папки используя описанные способы, то опишите вашу ситуацию и задавайте вопросы в комментариях.

Автор: Andrey Mareev, Технический писатель
В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Редактор: Michael Miroshnichenko, Технический писатель
Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.
- Обновлено:
- 14.10.2023 14:46
Как удалить файл из папки c
Как удалить файлы или папки с помощью SSH?
Как удалить файлы или папки с помощью SSH?
Удаление файлов и папок с помощью SSH
Обновлено больше недели назад
Удалить файлы c сервера с помощью SSH очень просто: для выполнения этой процедуры сначала подключитесь к своей учетной записи хостинга через SSH (hPanel или cPanel).
После подключения через SSH, c помощью команды cd войдите в каталог, в котором находится файл. Чтобы узнать больше об основных командах SSH, прочтите эту статью.
Чтобы удалить файл или папку, просто используйте команду rm.
Чтобы удалить один файл, используйте:
Удаление папки и файлов рекурсивно на C#
Эта короткая заметка о том, как удалить папку и всё ее содержимое рекурсивно. Т.е. если в удаляемом каталоге есть подкаталоги и файлы и в них есть еще подкаталоги с файлами и т.д., все они будут удалены, таким образом будет удалена папка и всё, что в ней содержится.
Способ 1. Удаление каталога методом Delete
Здесь всё просто, нужно лишь второй параметр метода Delete указать равным true
Directory.Delete(folder, true);
folder — соответственно удаляемый каталог, а второй параметр команды говорит о том, что нужно удалить все вложенные каталоги и файлы рекурсивно.
Так же можно обработать исключения, чтобы получить более подробную информацию при неудаче удаления
try < Directory.Delete(folder, true); >catch (DirectoryNotFoundException ex) < Console.WriteLine("Директория не найдена. Ошибка: " + ex.Message); >catch (UnauthorizedAccessException ex) < Console.WriteLine("Отсутствует доступ. Ошибка: " + ex.Message); >catch (Exception ex)
Более подробно о методе Delete можете почитать на docs.microsoft.com
Способ 2. Удаление каталога рекурсивной процедурой
private void deleteFolder(string folder) < try < DirectoryInfo di = new DirectoryInfo(folder); DirectoryInfo[] diA = di.GetDirectories(); FileInfo[] fi = di.GetFiles(); foreach (FileInfo f in fi) < f.Delete(); >foreach (DirectoryInfo df in diA) < deleteFolder(df.FullName); >if (di.GetDirectories().Length == 0 && di.GetFiles().Length == 0) di.Delete(); > catch (Exception ex) < Console.WriteLine("Произошла ошибка: " + ex.Message); >>
Этот способ может пригодиться, если, например, в процессе удаления нужно делать что-то еще, например, писать лог-файл того, что удаляется.
Как удалить Файл, Каталог?
Функция Удаляет указанные файлы.
УдалитьФайлы(, )
Параметры: (обязательный) Тип: Строка. Путь к удаляемым файлам.
(необязательный) Тип: Строка. Маска для выбора удаляемых файлов. В строке маски допускается использование символа «*» (звездочка), обозначающего любое число произвольных символов, и «?» (знак вопроса), обозначающего один произвольный символ.
. — Если не указана, то удаляются все файлы и каталог .
Для удаления одного файла, можно передать его полное имя через первый параметр, либо передать путь к нему через первый параметр, а его короткое имя — через второй.
Удаление файлов производится, если в указанных файлах не установлено свойство «Только чтение». В противном случае возникает сообщение об ошибке.
Допускается использование схем http, https и ftp для адресации файлов. При использовании этих схем в адресах необходимо указывать прямые слеши ‘/’, а не обратные ‘\’.
Код 1C v 8.х
// Удаление каталога и всех вложенных в него каталогов и файлов
Попытка
УдалитьФайлы("C:\temp\Works");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
// Удалим в каталоге все файлы CSV
Попытка
УдалитьФайлы(КаталогВыгрузкиДанных, "*.csv");
Исключение
#Если Клиент Тогда
Сообщить(ОписаниеОшибки());
#КонецЕсли
КонецПопытки;
В 7-рке для удаления используется
Код 1C v 7.x
ФС.УдалитьКаталог(Стр);
//или
ФС.УдалитьФайл(Стр);
Как удалить каталог с файлами?
Код 1C v 7.x

// пример привел smaharbA
//Данный пример не работает, если в папке есть файлы с атрибутами только для чтения и системные
Функция Рекурсия(Знач Путь,Сп)
Перем А;
ФСО=СоздатьОбъект("ФС");
Стр=ФСО.НайтиПервыйФайл(Путь+"\*.*");
Пока ПустоеЗначение(Стр)=0 Цикл
Если (Стр<>"..") и (Стр<>".") Тогда
Представление="";
Для к=1 По СтрЧислоВхождений(Путь+"\"+Стр,"\") Цикл
Представление=Представление+"\";
КонецЦикла;
Сп.ДобавитьЗначение(Путь+"\"+Стр,Представление+Стр);
ФСО.АтрибутыФайла(Путь+"\"+Стр,,А);
Если Сред(А,4,1)="1" Тогда
Рекурсия(Путь+"\"+Стр,Сп);
КонецЕсли;
КонецЕсли;
Стр=ФСО.НайтиСледующийФайл();
КонецЦикла;
КонецФункции // Рекурсия
//*******************************************
Процедура Сформировать()
Перем Каталог,А;
Если ФС.ВыбратьКаталог(Каталог,"")=0 Тогда
Возврат;
КонецЕсли;
Сп=СоздатьОбъект("СписокЗначений");
Рекурсия(Каталог,Сп);
Сп.СортироватьПоПредставлению(0);
Для к=1 По Сп.РазмерСписка() Цикл
Стр=Сп.ПолучитьЗначение(к);
ФС.АтрибутыФайла(Стр,,А);
Если Сред(А,4,1)="1" Тогда
ФС.УдалитьКаталог(Стр);
Иначе
ФС.УдалитьФайл(Стр);
КонецЕсли;
КонецЦикла;
ФС.УстТекКаталог(Каталог+"\. .\");
ФС.УдалитьКаталог(Каталог);
КонецПроцедуры