Для обеспечения возможности каталогизации данных в Windows, равно как и в других операционных системах, применяется древовидная структура, представляющая собой набор вложенных друг в друга специальных файловых объектов-контейнеров, именуемых папками. В Windows папки могут быть системными, хранящими в себе файлы самой операционной системы, могут быть пользовательскими и программными, то есть теми, которые создаются сторонними приложениями. Как правило, с папками второго типа пользователь может делать все что угодно, немало полномочий он имеет и при работе с программными каталогами, например, он может вручную удалить оставшуюся на диске после деинсталляции приложения папку, но бывают такие случаи, когда папку не удается удалить обычным способом. Причин тому может быть несколько. Чаще всего это случается из-за отсутствия у пользователя необходимых прав доступа, также директория может быть удерживаема каким-нибудь процессом, может иметь некорректное имя, слишком длинный путь и т.д. Давайте рассмотрим, как удалить папку, если действие просит разрешение от администратора. С этой проблемой чаще всего приходится сталкиваться пользователям, работающим под обычной или гостевой учетной записью, но подобное возможно и тогда, когда вы и сами являетесь администратором компьютера.
В первом случае для удаления папки вам придется ввести пароль учетной записи владельца ПК, так как система будет его у вас постоянно запрашивать, либо воспользоваться универсальным способом, о котором будет сказано в конце статьи. А вот что делать, если папка не удаляется при работе под учетной записью администратора? Причина может заключаться в том, что вы либо не являетесь ее владельцем, либо не имеете соответствующих прав доступа. Откройте свойства папки, переключитесь на вкладку «Безопасность» и нажмите в открывшемся окошке кнопку «Дополнительно». В новом окне, напротив строки «Владелец» кликните по ссылке «Изменить». В следующем окошке нажмите кнопку «Дополнительно». Откроется еще одно окно. Тип объекта в нем оставьте «Пользователь», далее нажмите кнопку «Поиск» и выберите в появившемся внизу списке пользователя, которого хотите сделать владельцем каталога. Нажмите «OK» и еще раз «OK». После того как владелец будет заменен, отметьте птичкой пункт «Заменить владельца подконтейнеров и объектов» и сохраните настройки. Далее вам нужно будет предоставить новому владельцу полные права доступа к папке.
Нажмите в окошке свойств «Изменить», выделите в окне изменения разрешений нужного пользователя, предоставьте ему полные права доступа и сохраните настройки. После этого папка должна легко удалиться. Примечание: аналогичным образом удаляются папки, владельцем которых является системная служба TrustedInstaller. Сначала производится замена владельца папки, затем ему предоставляются (при необходимости) полные права и папка удаляется. Как и любой другой объект файловой системы, каталог может не удаляться по причине использования его каким-нибудь процессом. Как удалить папку в таком случае? Первое, что нужно постараться сделать, это определить удерживающий процесс, второе — завершить его в принудительном режиме, используя Диспетчер задач или иную специализированную утилиту. В большинстве подобных случаев, когда не удаляется папка, Windows пишет, что она используется другой программой, причем имя этой программы обычно указывается в окошке с сообщением. Но может быть и так, что имя программы не будет фигурировать. В такой ситуации здорово может выручить утилита Process Explorer, входящая в комплект инструментов администрирования Sysinternals. Запустите утилиту (она портативна), выберите в главном меню Find — Find Handle or DLL.
Введите в поле «Handle or DLL substring» имя удерживаемой папки и нажмите «Search». Через пару секунд вы получите имя процесса, его PID в Диспетчере задач и полный путь к используемому процессом объекту. Кстати, с помощью утилиты процесс можно завершить, а затем удалить и саму папку. Среди «неудаляемых» папок есть особая группа, которая относится к так называемым объектам-призракам. Сложность здесь кроется в том, что выявить причину появления такого объекта не всегда удается. Это может быть некорректное (длинное или зарезервированное) имя, действие вредоносной программы, блокировка его другим процессом или повреждение файловой системы. Как проверить, имеет ли место блокировка процессом, мы уже знаем, теперь попробуем разобраться, что делать, если не удаляется папка с рабочего стола с сообщением «не удалось найти этот элемент». Если папка имеет системное зарезервированное имя, например, COM или PRN, удалить ее можно с помощью командной строки. Чтобы удалить «неудаляемую» папку со слишком длинным именем, сначала необходимо узнать ее короткое имя-псевдоним.
Делается это опять же с помощью командной строки. Примечание: если папка находится на диске С, ключ /d в команде перехода использовать не нужно. Отдельного внимание заслуживает случай, когда папка не удаляется не потому, что имеет неверное имя или удерживается системным процессом, а потому что ее просто не существует, на что может указывать отсутствие объекта в списке командной строки или файловом менеджере LiveCD. Это может говорить о повреждении файловой системы, следовательно, прежде чем предпринимать далее какие-либо действия, диск необходимо проверить на предмет ошибок командой CHKDSK. Менее вероятно, но создать подобную проблему способны проникшие в систему вирусы. На их действие может указывать постоянное автоматическое пересоздание папки после ее удаления с помощью LiveCD или специальных утилит, а также наличие в самой папке подозрительных скрытых файлов, исполняемых или конфигурационных. Решение проблемы в таких случаях стандартное — полная проверка компьютера как минимум двумя антивирусными сканерами, производимая желательно в автономном режиме до загрузки операционной системы. Еще одна возможная причина, по которой не удаляется папка — установленные для нее атрибуты системный и только для чтения.