Как узнать кто держит файл в windows
Перейти к содержимому

Как узнать кто держит файл в windows

  • автор:

Файл занят другим процессом, заблокирован другим процессом или открыт в другой программе — простое решение

Как разблокировать файл в PowerToys Locksmith

Распространенная проблема при попытке удалить, переименовать, переместить или изменить файл или папку — сообщение о том, что процесс не может получить доступ к файлу, так как этот файл занят другим процессом, о том, что папка или файл открыты в другой программе и аналогичные.

В этой простой инструкции новый простой способ узнать, какой именно процесс мешает действиям с файлом или папкой в Windows 11 и Windows 10, закрыть такую программу и выполнить требуемые изменений. На близкую тему может быть полезным: Как удалить файл, который не удаляется в Windows.

File Locksmith — новая функция Microsoft PowerToys для разблокировки файлов

Заблокированный другим процессом файл или папка — типичная ситуация, при этом Windows не всегда сообщает пользователю, о каком именно процессе идёт речь.

Процесс не может получить доступ к файлу, сообщения об ошибке

На сайте уже несколько раз обновлялся обзор полезной и бесплатной утилиты Microsoft PowerToys, содержащей набор инструментов для работы в системах Windows 10 и Windows 11. В начале ноября в ней появилась ещё одна возможность — File Locksmith, которая и поможет в рассматриваемой ситуации.

File Locksmith позволяет легко определить, какие процессы используют файл или папку (а точнее — её содержимое) и быстро закрыть эти процессы. Далее подробно о том, как именно работает функция:

  1. Установите Microsoft PowerToys, если ещё не установили. Проще всего это сделать из магазина приложений Microsoft Store используя поиск в магазине или ссылку https://aka.ms/getPowertoys, также есть другие способы загрузки: https://learn.microsoft.com/ru-ru/windows/powertoys/install
  2. После первого запуска приложения может потребоваться перезапуск PowerToys от имени администратора в главном окне приложения (в моем тесте функция File Locksmith не появилась в меню до выполнения перезапуска на одном из устройств). Перезапуск Microsoft Powertoys от имени администратора
  3. В параметрах Microsoft PowerToys убедитесь, что функция File Locksmith включена. Функция File Locksmith в Microsoft Powertoys
  4. Нажмите правой кнопкой мыши по файлу, который занят другим процессом и выберите пункт меню «Какие процессы используют этот файл?». В Windows 11 потребуется предварительно открыть классическое контекстное меню, нажав «Показать дополнительные параметры». Посмотреть какие процессы используют этот файл
  5. Откроется окно со списком процессов, использующих этот файл. Если процесс не отображается, выполните перезапуск окна с правами администратора, нажав по значку справа вверху. Процессы использующие файл
  6. Раскрыв свойства процесса, вы можете узнать его идентификатор (например, для завершения вручную), а также от имени какого пользователя он запущен. Информация о процессе в File Locksmith
  7. Действие по проверке использующих элемент процессов можно применять и к папке, в таком случае будет отображаться список всех процессов, использующих её содержимое, а раскрыв сведения можно получить информацию о том, какие именно файлы использует этот процесс. Какие процессы используют файлы в папке
  8. И, самое главное, прямо в окне File Locksmith можно завершить процесс. Однако будьте осторожны при завершении системных процессов Windows.

Надеюсь, новый инструмент будет полезен. Конечно, есть и другие возможности, например, многие используют Unlocker, но вариант с File Locksmith куда более безопасен для пользователя, на мой взгляд.

как узнать кто держит файл в windows

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

Н аверное, каждому из пользователей Windows хотя бы раз приходилось иметь дело с так называемыми неудаляемыми файлами и папками. Как правило, причиной невозможности удалить, переместить или хотя бы переименовать такой объект является использование его каким-то процессом, причём необязательно чтобы этот процесс был системным. Это может быть антивирус, архиватор или какой-нибудь редактор.

Обычно в окне с ошибкой прямо указывается, что за процесс препятствует дальнейшим действиям с объектом, но бывает и так, что вместо этого сообщается, что файл или папка открыты в другой программе. Это понятно, но вот в какой именно?

4614395 1

Так вот, определить её очень просто. Во всех популярных версиях Windows (начиная с 7) есть такая встроенная утилита как «Монитор ресурсов», предназначающаяся для контроля использования программных и аппаратных ресурсов. В её поле зрения попадают все процессы, в том числе и зависшие. Она то как раз и подскажет, что именно держит файл или папку.

4614395 2

4614395 3

Вот так всё просто. Кстати, если удерживающий процесс не является критическим, его можно завершить прямо из окна монитора ресурсов.

4614395 4

После этого проблемный файл, папка или другой объект легко смогут быть удалены обычным способом.

Как узнать кто держит файл в windows

Один из них такой: А вот как определить процесс, если этим процессом является драйвер?

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

NirSoft OpenedFilesView кроме того, что это процесс системный, тоже не пишет ничего.

Ни Process Explorer, ни Process Monitor, ни другие утилиты не пишут каким процессом занят файл, если этим процессом является какой-нибудь драйвер.

В папке C:\Windows\Temp у меня появился фай TmpFile1.

Разер файла 8 409 088 Байт (ровно 16424 кластера).

Удалить, переместить, переименовать его ничем не возможно.

Определить, какой процесс его создает, тоже не получается.

«Методом тыка» и путем «гугления» проблемы, путем проб и ошибок, было найдено, что этим процессом является драйвер.

Короче, с какой-то программой, даже не знаю какой, установился алладиновский драйвер защиты Driver Sentinel HASP.

Если проделать операции Диспетчер устройств >>> Вид >>> Показать скрытые устройства >>> Драйверы несамонастраиваемых устройств >>> aksdf >>> Свойства >>> Драйвер >>> Остановить, то файл C:\Windows\Temp\TmpFile1 сразу же исчезает, но при включении драйвера он сразу же появляется опять.

Так же, когда у меня стоял Kaspersky Cristal, какой-то один из его драйверов так же создавал в папке C:\Windows\Temp какие-то файлы, которые так же удалить, переместить, переименовать было невозможно, которые так же сами исчезали после отключения драйвера и появлялись после включения.

Вот и основной вопрос: «Как программно, не «методом тыка», не «гуглением», а средствами Windows, определить, каким процессом занят файл, если этим процессом является драйвер?»

Драйвер – это системный процесс, и сторонних утилит, способных копаться в системных процессах, практически нет. Помочь моли бы Microsoft (а оно ей надо) или Марк Руссинович, и его утилита Process Monitor.

Если коротко, то методика такая:
— Ставим фильтр на путь: C:\Windows\Temp\TmpFile1
— Ставим галочку Enable Boot Logging (Включить лог загрузки)
— Указываем путь сохранения лога
— Перезагружаемся
— Исследуем загрузочный лог

Expert Users

Для того, чтобы узнать какой процесс открыл и блокирует доступ к файлу в Windows нам поможет программа Process Explorer. Эта прога отображает все работающие процессы и позволяет просмотреть загруженные DLL файлы и отрытые хэндлы для любого процесса.

Итак, для того чтобы узнать какой процесс блокирует файл, вам нужно:
1) скачать программу Process Explorer на сайте microsoft (размер около 1.5 Мб)

3) ввести имя заблокированного файла, который нужно найти. Будет показан список всех процессов, которые используют этот файл.

Если вам известны другие методы как узнать какой процесс блокирует доступ к файлу, пишите в комментариях.

Похожие записи:

Комментарии к записи “ Как узнать какой процесс открыл и блокирует доступ к файлу в Windows? ”

Статья оказалось бесполезной. Мне нужно было выяснить какая программа блокимрует базу данных Microsoft SQLServer Compact (это файл с раширением sdf). Ничего не находится таким способом.

Анатолий, попробуйте программу unlocker.

Microsoft SQLServer – это база данных, которая запускается как Windows Service. Вам необходимо остановить процесс MS SQL Server (как-то так должен называться) и только потом сможете воздействовать на файл БД. Есть еще способы, но про них лучше почитать на MSDN.

Я же написал Compact и про файл sdf!
Никакой это не сервис.

Бесполезняк.
Залочены скомпилированные явой классы. Воткнул имя класса – не показывает.

Как определить кто открыл файлы в сетевой папке и сбросить сессии пользователя в Windows Server

На общедоступном сетевом ресурсе могут возникать ошибки доступа к файлам. Причиной этому является некорректно завершенная сессия пользователя, ошибки в работе ПО или просто кто-то открыл файл и не закрывает его. В такой ситуации файл оказывается заблокированным и не доступен для работы другим пользователям.

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

Рассмотрим два способа:

1 способ. Получаем список открытых файлов с помощью оснастки «Управление компьютером».

Для получения списка открытых файлов на файловом сервере воспользуемся оснасткой консоли «Управление компьютером». Для запуска оснастки нажимаем сочетание клавиш «Win + R» и набираем название оснастки «compmgmt.msc».

image 21

В иерархии оснастки переходим /Управление компьютером/Служебные программы/Общие папки/Открытые файлы.

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

image 22

Закрываем файл. Чтобы закрыть сетевой файл открытый другим пользователем находим его в списке и в контекстном меню выбираем пункт «Закрыть открытый файл».

image 23

2 способ. Просмотр открытых файлов через командную строку утилитой Openfiles.

Утилита Openfiles дает нам более широкие возможности по поиску и закрытию заблокированных файлов.

C помощью openfiles можно просмотреть список открытых файлов на сервере удаленно. Для этого открываем командную и запускаем утилиту с параметрами.

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

Если необходимо увидеть информацию о количестве блокировок файлов (#Locks) и в каком режиме открыт файл (чтение или запись), то можно воспользоваться параметром /v.

Определяем кто открыл сетевой файл.

Чтобы найти пользователя, который открыл и заблокировал нужный нам файл запускаем Openfiles с командой find.

в команде find указан параметр /i, чтобы поиск был регистронезависимым.

После того когда мы узнали имя пользо

Закрываем заблокированный сетевой файл.

Закрыть открытый файл можно по id сессии таким способом:

Закрыть все сетевые подключения к файлам и папкам, которые открыл пользователь BadUser:

Закрыть все файлы и директории открытые в режиме чтение/запись:

Закрыть все подключения к директории с именем «c:\myshare»:

Чтобы сбросить все сессии на удаленном сервере FileServer, которые открыл пользователь domain\baduser, независимо от id сессии:

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

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

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

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

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

9 ответов 9

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

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

E2TJv

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

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

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

r9diy

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

2L46q

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

u0fb0

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

pyhvL

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

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

JU6cs

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

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

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

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

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

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

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

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

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

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

Как узнать кто держит файл в windows

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

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

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

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

Имеется сразу несколько способов и программ чтобы найти процессы и программы, которые открыли файл.

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

Для поиска программы или процесса, открывшей файл, вы можете использовать Монитор ресурсов (Resource Monitor), который встроен в Windows 7, 8 и 10.

Откройте Монитор ресурсов, это можно сделать несколькими способами:

  • В поле для поиска введите «Монитор ресурсов» или resmon.exe:

  • Или в Диспетчере задач перейдите на вкладку «Производительность» и найдите кнопку «Открыть монитор ресурсов»:

В Мониторе ресурсов перейдите на вкладку ЦП (CPU). Используйте поле поиска в разделе «Связанные дескрипторы»

В результатах поиска в столбце «Образ» вы увидите, какая программа запустила процесс, блокирующий файл.

Здесь же вы можете кликнуть правой кнопкой мыши по любому найденному процессу и нажать «Завершить процесс», чтобы закрыть программу, блокирующую файл.

2. Process Explorer

Process Explorer — это официальная программа от Microsoft/SysInternals, которую можно скачать по ссылке: https://download.sysinternals.com/files/ProcessExplorer.zip

Перейдите в FindHandle or DLL.

В текстовом поле «Handle or DLL substring:» введите путь до файла или папки. Будут показаны все процессы, которые имеют открытый обработчик на этот файл.

3. OpenedFilesView

OpenedFilesView это бесплатная программа не требующая установки, она покажет все открытые файлы, имеется возможность искать по имени или пути файла:

4. LockHunter

LockHunter — это надёжная программа для разблокировки файлов.

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

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

Как определить кто открыл файлы в сетевой папке и сбросить сессии пользователя в Windows Server

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

Вывести список открытых файлов на файловом сервере Windows

Список открытых пользователями файлов на файловом сервере Windows можно получить с помощью стандартной графической консоли Computer Management (Управление компьютером — compmgmt.msc ).

Запустите на файловом сервере консоль Computer Management (или подключитесь к нему удаленно консолью со своего компьютера) и перейдите в секцию System Tools -> Shared Folders -> Open files (Служебные программы -> Общие папки -> Открыты файлы). В правой части окна отображается список файлов сервера, открытых удаленно . Список содержит локальный путь к файлу, имя учетной записи пользователя, количество блокировок и режим, в котором открыт файл (Read или Write+Read).

Этот же список открытых файлов можно получит с помощью встроенной консольной утилиты Openfiles . Например, с помощью следующей команды можно получить id сессии, имя пользователя и полный локальный путь к открытому файлу:

Openfiles /Query /fo csv |more

При удаленном доступе пользователя к папке или файлу в сетевой папке (SMB) на сервере, для пользователя создается новая сессия, определяющая данное подключение. Управление подключениями пользователей осуществляется именно через эти идентификаторы сессий.

Эту же команду можно выполнить удаленно, например, нужен список открытых файлов на файловом сервере mskfs01:

Openfiles /Query /s mskfs01 /fo csv

У команды Openfiles есть еще одна интересная возможность просмотра списка локально открытых файлов. Для ее использования нужно включить опцию Maintain Objects List (Построение списка объектов) командой openfiles /local on и перезагрузить сервер. После этого в список начнут попадать файлы, открытые локальными процессами (этот режим желательно использовать только для отладки, т.к. может негативно сказаться на производительности сервера).

Как определить какой пользователь открыл файл

Чтобы определить пользователя, который открыл (заблокировал) файл cons.adm на сервере, выполните команду:

Openfiles /Query /s mskfs01 /fo csv | find /i «cons.adm»

Ключ /i используется, чтобы выполнялся регистронезависимый поиск

Естественно, можно указать только часть имени файла. К примеру, нам нужно узнать кто открыл xlsx файл, в имени которого есть строка farm, воспользуемся таким конвейером:

Openfiles /Query /s mskfs01 /fo csv | find /i «farm»| find /i «xlsx»

Можно, конечно найти файл и в графической консоли Computer Management, но это менее удобно (консоль не предусматривает возможность поиска).

Как закрыть открытый файл

Чтобы закрыть открытый файл, нужно найти его в списке файлов секции Open File и в контекстном меню выбрать пункт « Close Open File ».

Если на файловом сервере сотни открытых файлов, найти их в консоли будет непросто. Удобнее воспользоваться утилитой Openfiles . Как мы уже говорили, она возвращает ID сессии открытого файла. Именно по этому ID сессии, файл можно принудительно закрыть, сбросив подключение. Находим ID нужного файла:

Openfiles /Query /s mskfs01 /fo csv | find /i «farm»| find /i «.xlsx»

Отключаем от него пользователя по полученному идентфикатору:

Openfiles /Disconnect /s mskfs01 /ID 67109098

Как удаленно закрыть открытые файлы с помощью PowerShell

В Windows Server 2012 / Windows 8 в PowerShell появились командлеты для работы с шарами и файлами на SMB сервере. Данные командлеты можно использовать для удаленного сброса подключений к открытому файлу.

Список открытых файлов можно получить с помощью командлетов Get- SMBOpenFile , а закрыть файл (сбросить подключение) с помощью Close-SmbOpenFile .

Итак, подключаемся к удаленному серверу:

$sessn = New-CIMSession –Computername mskfs01

Находим и закрываем открытый файл pubs.docx одной командой:

Get-SMBOpenFile -CIMSession $sessn | where | Close-SMBOpenFile -CIMSession $sessn

Подтверждаем закрытие файла, нажав Y.

Чтобы убрать подтверждение принудительного закрытия файла на сервере, используйте ключ -Force

Эти же команды можно использовать, к примеру, чтобы закрыть все файлы, открытые некоторым пользователем (пользователь ушел домой и не освободил файлы). К примеру, чтобы сбросить все файловые сессии для пользователя ipivanov, выполните

Get-SMBOpenFile -CIMSession $sessn | where |Close-SMBOpenFile -CIMSession $sessn

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

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

  • «Не удается удалить файл: отказано в доступе» / «Cannot delete file: Access is denied»
  • «Обнаружена проблема общего доступа» / «There has been a sharing violation»
  • «Исходный файл возможно используется» / «The source or destination file may be in use»
  • «Файл используется другой программой или пользователем» / «The file is in use by another program or user».
  • «Убедитесь, что диск не переполнен и не защищен от записи и что файл не используется в настоящее время» / «Make sure the disk is not full or write-protected and that the file is not currently in use»

Одним из лучших способов справиться с заблокированными файлами и каталогами — это воспользоваться бесплатной программой Process Explorer от Microsoft. Программа уже была описана в обзоре Лучшие бесплатные диспетчеры процессов, и вот как ее можно использовать для того, чтобы узнать какой процесс или какая DLL блокирует доступ к файлу. Вам потребуются права администратора.

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

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

В Windows 7 и выше, системное сообщение может содержать название программы, блокирующую доступ к файлу. В Windows XP, обычно, такой информации нет. В любом случае, есть простой способ, как можно найти программу:

  1. Откройте Process Explorer от имени администратора
  2. На панели инструментов найдите значок в виде прицела (иконка выделена на рисунке выше)
  3. Перетащите иконку на заблокированный файл или каталог
  4. Программы, которые используют данный файл, будут подсвечены в общем списке процессов в главном окне Process Explorer

Как узнать, какие программы и DLL держат открытые маркеры (дескрипторы) на файл в Windows 7?

  1. Откройте Process Explorer от имени администратора
  2. Нажмите комбинацию клавиш «Ctrl + F». Или выберите в меню «Поиск» пункт «Find a Handle or DLL»
  3. Откроется диалоговое окно поиска
  4. Введите имя заблокированного файла или часть его названия. Как правило, достаточно части имени
  5. Нажмите кнопку «Поиск»
  6. Откроется список со всеми программами и dll, которые используют данный файл. Вернее их открытые маркеры (дескрипторы) на файл
  7. Вы можете удалить все маркеры (дескрипторы) простым нажатие кнопки «Delete», чтобы разблокировать доступ к файлу. Тем не менее, обращаем ваше внимание на то, что при удалении дескрипторов, могут возникнуть проблемы. Например, если это сделать во время сохранения файла, то информация в файле может быть повреждена. Поэтому, если вы сомневаетесь, то можете просто перезагрузить компьютер. Часто, этого вполне достаточно, чтобы разблокировать доступ к файлу.

Process Explorer можно скачать здесь.

Примечание: Как альтернативу, вы так же можете программы из обзора Лучшие бесплатные утилиты для удаления блокированных файлов. Несмотря на их название, они так же позволяют копировать и перемещать файлы. А так же позволяют обойти ряд таких ограничений, как блокировка доступа к файлу при старте системы.

Теперь, вы знаете, как узнать какие процессы Windows используют файл. А так же знаете, как можно разблокировать доступ к файлам.

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

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

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

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

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

9 ответов 9

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

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

  2. Откройте вкладку CPU и используйте поле поиска в разделе Associated Handles.
    • Помечено синей стрелкой на снимке экрана ниже

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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