615

Как я могу узнать, какой процесс блокирует файл или папку в Windows?

Например, при попытке удалить папку Windows сообщает об этом:

Действие не может быть завершено, потому что папка открыта в другой программе

Происходит то же самое с файлом, но как мне узнать, какая программа или приложение использует его в настоящее время и не позволяет мне удалить файл или папку?

9 ответов9

558

Для Windows 7, 8 и 10 вы можете использовать встроенный Resource Monitor для этого.

  1. Откройте Resource Monitor, который можно найти
    • С помощью поиска resmon.exe в меню «Пуск» или
    • Как кнопка на вкладке « Производительность » в вашем диспетчере задач
  2. Откройте вкладку CPU и используйте поле поиска в разделе Associated Handles.
    • Помечено синей стрелкой на снимке экрана ниже

В случае, если это не очевидно, когда вы нашли дескриптор, вы можете определить процесс, посмотрев на столбец Image и / или PID.

Затем вы можете закрыть приложение, если вы можете это сделать, или просто щелкнуть правой кнопкой мыши по строке, и вы получите возможность убить процесс прямо здесь. Очень просто!

Скриншот монитора ресурсов

378

Пара вариантов:

Microsoft/SysInternals Process Explorer - выберите "Найти"> "Найти дескриптор" или "DLL". В текстовом поле «Обрабатывать или подстрока DLL:» введите путь к файлу (например, «C:\path\to\file.txt») и нажмите "Поиск". Все процессы, которые имеют открытый дескриптор этого файла, должны быть перечислены.

WhoLockMe - расширение для проводника, которое добавляет опцию контекстного меню

NB WhoLockMe по- видимому, не работает с Win 10 ( по крайней мере , я не смог зарегистрировать его с любым из 32- или 64-разрядных версий regsvr32.exe).

188

Взгляните на Process Explorer (procexp.exe).

Из его введения:

Задумывались ли вы, какая программа имеет определенный файл или каталог открыт? Теперь вы можете узнать.

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

  1. Перейдите в Find, Find Handle или DLL .. или просто нажмите Ctrl+F.

    Введите описание изображения здесь

  2. Введите имя файла и нажмите Поиск.

    Введите описание изображения здесь

  3. Process Explorer перечислит все процессы, которые имеют дескриптор открытого файла. Нажмите на запись, чтобы сфокусировать процесс в главном окне.

    Введите описание изображения здесь

  4. При желании вы можете даже закрыть ручку вручную через нижнюю панель (Ctrl+L):

    Введите описание изображения здесь

45

Метод PowerShell:

IF((Test-Path -Path $FileOrFolderPath) -eq $false) {
    Write-Warning "File or directory does not exist."       
}
Else {
    $LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath"""
    Write-Host $LockingProcess
}

В команде openfiles должна быть включена поддержка локальных файлов, для этого нужно запустить openfiles /local on и перезапустить.

Подробнее Как узнать, какой процесс блокирует файл или папку в Windows

24

LockHunter может разблокировать любые обработчики, которые могли заблокировать ваши файлы или папки. В отличие от аналогичных бесплатных программ, он поддерживает как 32-разрядные, так и 64-разрядные версии Windows.

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

  • Показывает процессы, блокирующие файл или папку
  • Позволяет разблокировать, удалить, скопировать или переименовать заблокированный файл
  • Позволяет убить процесс блокировки
  • Позволяет удалить процессы блокировки с жесткого диска
  • Интегрируется в меню Проводника
  • Он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке
  • Поддерживает как 32, так и 64-битную Windows
10

EMCO UnlockIT может идентифицировать процесс, который заблокировал файл, а также разблокировать файл, чтобы вы могли удалить / отредактировать / переместить его. Программа полностью бесплатна, хотя более новая версия немного медленнее и более раздутая, чем оригинал (который имел простой, некорпорированный графический интерфейс, но загружался практически мгновенно и без раздражающего заставки). Кроме того, исходная версия использовалась для автоматического всплывающего сообщения при возникновении упомянутой ошибки, что позволяет мгновенно разблокировать файл и выполнить операцию, которую вы пытались выполнить.

Тем не менее, UnlockIT - невероятно полезная программа, которая предоставляет базовую функциональность, которая критически отсутствует в Windows. Это один из стандартных наборов утилит, который я устанавливаю на все компьютеры с Windows, на которых работаю.

2

Здесь было мое открытие и решение.

Кстати, ни один из вышеперечисленных ответов не решил мою проблему.

Я даже пытался использовать UNLOCKER, который оказался бесполезным.

У меня проблема была с Memeo Autosync Backup

По-видимому, этот процесс резервного копирования оставляет достаточно "призрачного файла". Этот "призрачный файл" будет появляться всякий раз, когда я буду ALT-TAB на моем компьютере (Windows Professional XP), то есть я вижу, что ДВА ПРОГРАММЫ MS Excel работают, когда у меня только ОДНА видимая, на моей панели задач.

Я столкнулся с этим решением, когда подумал, что это может быть защита от вирусов SYMANTEC Endpoint (Anti-Virus); и отключил программу. Тем не менее, я продолжал получать сообщение об ошибке:

невозможно удалить (файл LARGE.xls): он используется другим человеком или программой. Закройте все программы, которые могут использовать этот файл, и повторите попытку.

Впоследствии я продолжал видеть уведомление Memeo о "синхронизации" и выход из программы.

Впоследствии НЕТ ОШИБКИ.

Для вас это может быть ЛЮБОЙ из этих фоновых сейвов.

2

Если вы не знаете в программе, какой файл он использует, вы можете перейти на «Мой компьютер»; щелкните правой кнопкой мыши; выберите Управление. В разделе «Системные инструменты»> «Общие папки»> «Открыть файлы» вы сможете увидеть пользователя, заблокировавшего файл. Вы можете закрыть файл отсюда, а затем вы можете выполнить задачу переименования или удаления файла. Надеюсь это поможет

1

Дополнительная возможность, просто чтобы сэкономить людям время, которое я только что провел:

В более старых версиях Windows может появиться сообщение «Отказано в доступе - возможно, у вас нет прав или файл используется». Если вы обнаружите через Process Explorer, что файлы, на самом деле, никем не открыты, есть вероятность, что существует проблема с безопасностью. Используя учетную запись администратора, выберите файлы в проводнике, щелкните правой кнопкой мыши и выберите «Свойства», «Безопасность», «Дополнительно», «Владелец». Скорее всего, файлы принадлежат учетной записи, которая больше не существует или более не может быть проверена на существование (из-за изменения параметров доверия Active Directory).

Измените право собственности на Администраторов, и вы готовы к работе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .