Ошибка удаления или переименования: файл или папка уже используется.

файл уже используется

В статье описываются способы и инструменты, с помощью которых можно прямо в текущем сеансе или с последующей перезагрузкой решить проблему переименования, перемещения или удаления файла или папки. Так, думаю каждый из пользователей Windows сталкивался хоть раз с окном с ошибкой Файл / Папка уже используется. Операция не может быть завершена, так как эти папка или файл открыты в другой программе:

папка уже используется операция не может быть завершена

Или более конкретное:

файл уже используется

Начинаешь рыться в памяти, какое приложение по работе с файлом ты недавно открывал, рыскаешь по системному трею в панели задач в поисках программ, работающих фоном. Нет, после перезагрузки компьютера (а, если повезёт, и после перезагрузки проводника) файл можно будет удалить или переместить. А если даже после перезагрузки файл удаляться не собирается? Каким же процессом объект УЖЕ ИСПОЛЬЗУЕТСЯ? А в Windows ещё со времён выпуска модели Vista для этого есть уже пара встроенных и относительно простых решений. Одно, правда, требует небольшой предварительной настройки. И называется этот инструмент OpenFiles. Также рассмотрим работу программ, с помощью которых виновника этой ошибки легко обнаружить. В конце статьи небольшой ролик, в котором я использую некоторые из описанных инструментов.

Как удалить неудаляемый файл при помощи Unlocker?

Что мешает удалить, переименовать или переместить объект: подготовимся.

Перед тем, как начать его использовать, запустите командную консоль от имени администратора и введите команду на активацию режима наблюдения:

openfiles /local on

openfiles local on

После перезагрузки проверим состояние инструмента:

openfiles запущена

Выгрузка результатов займёт некоторое время, так что я сразу оформлю запрос с выводом в текстовый файл куда-нибудь поближе. К примеру, на Рабочий стол Windows:

openfiles > %userprofile%\desktop\процессы.log

список связанных с файлами процессов

В текстовом редакторе Notepad ++, предварительно настроенном на кириллицу (можно и в обычном Блокноте), можно посмотреть на список связки процесс-программа-файл:

список связанных с файлами процессов в текстовом файле

Быть может, кому-то удобнее сохранить вывод запроса в буфер обмена, а потом вставить в какой-то документ:

openfiles | clip

Но ладно, мы подбираемся к нашей задаче: всё-таки, что мешает закрыть файл? Комбинируем с FindString (эта занимается обнаружением указываемой части текста в файлах, являясь неким аналогом Линуксового grep) и ищем, почему не поддаётся удалению, например, текстовый документ:

openfiles | findstr /i document

что мешает удалить файл

Потенциальные виновники, связанные с файлом, обнаружены, можно отправляться в Диспетчер задач и убить процесс, удалив затем файл привычным путём. Кстати говоря, сразу после активации инструмента openfiles, у такого метода появляется возможность обнаруживать блокировщика удаления/перемещения/переименования в графическом интерфейсе. Отправляемся в Монитор ресурсов из строки поиска WIN + R:

resmon.exe

и вводим тот же запрос в части Связанных дескрипторов:

связанные дескрипторы в мониторе ресурсов winows

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

Как найти процессы, блокирующие перемещение или переименование объекта?

Монитор ресурсов Windows.

О его работе мы уже упомянули. Вариант с Монитором ресурсов подходит для распознавания процессов ВООБЩЕ, связанных с определёнными устройствами. Например, если вы используете карты или флешку, и, завершая с ними работу, собираетесь изъять устройство из порта. Как примерный пользователь вы обращаетесь к системному трею за Безопасным извлечением устройства. Но Windows сообщает вам, что устройство занято и на этот момент извлечено быть не может. Монитор поможет выцепить этот самый процесс-виновник. В знакомом уже пункте Связанных дескрипторов введите присвоенную устройству букву:

какой процесс использует флешку

Process Explorer

Программа Process Explorer – инструмент бесценный. Смысл работы в нашем случае тот же: запускаем исполнительный файл программы procexp64.exe от имени администратора, и после появления окна зажимаем одновременно клавиши Ctrl +Shift+F для вызова окна поиска по дескрипторам. В строке Handle or DLL substring вводим имя объекта, соблюдая полное имя и регистр символов. Щёлкаем по кнопке Search. Результат тот же:

блокирующий файл процесс в process explorer

Для дальнейшей работы с объектом процесс нужно удалить. А теперь обещанный ролик:

Успехов всем.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Максимальный размер загружаемого файла: 50 МБ. Вы можете загрузить: изображение, видео. Ссылки на YouTube, Facebook, Twitter и другие сервисы, вставленные в текст комментария, будут автоматически встроены. Перетащите файлы сюда