it-swarm-ru.tech

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

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

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

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

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

654
leeand00

Метод 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

51
frank

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

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

Найдя дескриптор, вы можете определить процесс, посмотрев на столбец «Изображение» и/или «PID».

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

Resource Monitor screenshot

611
Svish

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

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

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

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

383
Shevek

Посмотрите на Process Explorer (procexp.exe).

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

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

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

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

    Enter image description here

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

    Enter image description here

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

    Enter image description here

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

    Enter image description here

191
Eroen

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

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

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

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

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

10
Lèse majesté

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

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

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

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

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

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

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

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

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

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

2

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

2
Rajesh

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

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

Смените владельца на Администратора, и вы готовы к работе.

1
Stu