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

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

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

  

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

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

497 голосов | спросил leeand00 9 MarpmTue, 09 Mar 2010 17:05:19 +03002010-03-09T17:05:19+03:0005 2010, 17:05:19

9 ответов


31

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

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

ответил frank 26 AMpWed, 26 Apr 2017 05:59:07 +030059Wednesday 2017, 05:59:07
406

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

  1. Откройте Монитор ресурсов , который можно найти
    • При поиске resmon.exe в меню «Пуск» или
    • В качестве кнопки на вкладке Производительность в Диспетчере задач
  2. Откройте вкладку CPU и используйте поле поиска в разделе Связанные ручки
    • Указывается синей стрелкой на скриншоте ниже

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

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

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

ответил Svish 10 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 10 Sep 2013 15:43:07 +0400 2013, 15:43:07
366

Несколько вариантов:

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

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

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

ответил Shevek 9 MarpmTue, 09 Mar 2010 17:22:41 +03002010-03-09T17:22:41+03:0005 2010, 17:22:41
173

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

Из введения:

  

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

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

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

    Введите описание изображения здесь>> </p>
</li>
<li>
<p> Введите имя файла и нажмите <strong> Поиск </strong>. </p>

<p> <img src =

ответил Eroen 12 MaramMon, 12 Mar 2012 07:35:16 +04002012-03-12T07:35:16+04:0007 2012, 07:35:16
17

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

  

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

     
  • Показывает процессы, блокирующие файл или папку
  •   
  • Позволяет разблокировать, удалить, скопировать или переименовать заблокированный файл
  •   
  • Позволяет убить процесс блокировки
  •   
  • Позволяет удалить процессы блокировки с жесткого диска.
  •   
  • Интегрируется в меню Проводника
  •   
  • Он удаляет файлы в корзину, поэтому вы можете их восстановить, если они были удалены по ошибке.
  •   
  • Поддержка 32-разрядной и 64-битной Windows
  •   
ответил Mehper C. Palavuzlar 14 MaramWed, 14 Mar 2012 02:06:52 +04002012-03-14T02:06:52+04:0002 2012, 02:06:52
9

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

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

ответил Lèse majesté 12 MaramMon, 12 Mar 2012 07:37:04 +04002012-03-12T07:37:04+04:0007 2012, 07:37:04
2

Вот мое открытие & Решение.

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

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

Моя проблема была в том, что Memeo Autosync Backup

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

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

  

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

Впоследствии я продолжал видеть уведомление Memeo о «синхронизации» и ВЫКЛЮЧИТЬ программу.

Затем NO NO ERROR.

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

ответил formerly frustrated excel user 13 +04002012-10-13T13:43:30+04:00312012bEurope/MoscowSat, 13 Oct 2012 13:43:30 +0400 2012, 13:43:30
2

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

ответил Rajesh 1 FebruaryEurope/MoscowbFri, 01 Feb 2013 10:42:25 +0400000000amFri, 01 Feb 2013 10:42:25 +040013 2013, 10:42:25
1

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

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

Измените право собственности на Администраторов, и вам хорошо идти.

ответил Stu 26 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 26 Sep 2012 20:56:37 +0400 2012, 20:56:37

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132