Часто на моих компьютерах с Windows, когда я перехожу к удалению или перемещению каталогов или файлов, появляется сообщение об ошибке, объясняющее, что это действие невозможно выполнить, поскольку один из файлов используется другой программой.
Есть ли программа, которая позволяет мне для данного файла узнать, какая программа его использует, и завершить эту программу?
Я регулярно использую Process Explorer ( бесплатно от Microsoft) , чтобы делать именно то, о чем вы просите, вы можете искать, какие программы / задачи используют данный файл или каталог, а затем уничтожать программу или дерево программ. Вы даже можете найти DLL, которая заблокировала данный файл, а затем найти и убить те программы, которые используют эту DLL.
Это также дает вам много другой полезной информации.
Попробуйте анлокер .
Он создает запись в контекстном меню файлов, которое покажет вам список процессов, которые обращаются к файлу, с помощью которого вы можете затем отключить процесс (или, если необходимо, полностью его убить).
Я регулярно использую Unlocker, чтобы безопасно извлекать USB-накопители, которым нравится держать ручки открытыми, и чаще всего это помогает. Единственный недостаток, который я обнаружил (и это может быть проблема не с самим Unlocker, а с программами, которые держат дескрипторы открытыми), заключается в том, что в большинстве случаев простое отсоединение процесса не работает, и мне приходится его сразу убивать.
Несмотря на то, что существует ряд более полнофункциональных программ, которые могут выполнять те же функции, что и Unlocker, с целью выпуска дескрипторов файлов я обнаружил, что эта программа работает быстрее и работает более последовательно.
Примечание . Имейте в виду, что Unlocker содержит потенциально вредоносное рекламное ПО в процессе установки и использует рекламный модуль OpenCandy в своем установщике. Если вы будете осторожны во время процесса установки, прочитаете все представленные вам диалоговые окна и отмените выбор всего, что не похоже на то, что оно является частью Unlocker, вы можете легко избежать установки чего-либо вредоносного в вашей системе.
На следующем изображении показан диалог, который я получил в результате модуля OpenCandy, где я уже выбрал «Дополнительно» и снял флажок «Установить панель инструментов Delta»:
С небольшой доработкой это сделает монитор процессов от sysinternals . Единственная реальная проблема заключается в огромном количестве информации — ожидается, что вы будете использовать фильтры, но в итоге я просто ограничил отображаемую информацию активностью файловой системы и посмотрел, какая программа ее использует, выполнив поиск точного имени файла (в этом случай, тест.текст).
Как и в случае с любым программным обеспечением sysinternals, оно крошечное, портативное и делает именно то, что написано на жестяной банке — оно буквально не имеет других функций, кроме мониторинга процессов по файловой системе, реестру, сети и активности процессов. Учитывая необходимый уровень доступа, его необходимо запускать от имени администратора/пройти эскалацию UAC.
Он не позволит вам разблокировать файл напрямую, но покажет, что он его использует, и вы можете правильно завершить родительский процесс, чтобы снять блокировку.
handle — это инструмент командной строки от Microsoft, делающий именно это. Его написала компания Sysinternals , ныне принадлежащая Microsoft. Вы можете дать ему имя файла или каталога (или любой « дескриптор »), и он напечатает exe программы и идентификатор процесса (PID). Вы можете дать ему частичные имена файлов, т.е. "фрагменты" тоже.
Основное использование:
handle c:\movie.mp4
напечатает его заголовок, а затем что-то вроде
vlc.exe pid: 1256 type: File 1EC: c:\movie.mp4
Использование печатается сhandle -h
Удобный способ его использования — список файлов, открытых на вашем флеш-накопителе. Если ваше перо D:
, вы можете запустить, handle D:
и оно напечатает, какие программы используют ваш диск и какой файл.
примечания к сценариям
Первое использование запрашивает GUI для EULA. Раньше был -accepteula
параметр, который не работает со всеми последними версиями. Значение хранится в dword HKEY_CURRENT_USER\Software\Sysinternals\Handle\EulaAccepted
. Вы можете иметь тот же эффект, что и accept, добавив
REG ADD "HKCU\Software\Sysinternals\Handle" /v EulaAccepted /t REG_DWORD /d 1 /f
Есть много других интересных утилит sysinternals , размещенных на сайте Microsoft.
Process Hacker делает это:
Особенности
- Подробный обзор системной активности с подсветкой.
- Графики и статистика позволяют быстро отслеживать пожиратели ресурсов и неуправляемые процессы.
- Не можете редактировать или удалить файл? Узнайте, какие процессы используют этот файл.
- Посмотрите, какие программы имеют активные сетевые подключения, и при необходимости закройте их.
- Получайте информацию о доступе к диску в режиме реального времени.
- Просмотр подробных трассировок стека с поддержкой режима ядра, WOW64 и .NET.
- Выходите за рамки services.msc: создавайте, редактируйте и контролируйте службы.
- Маленький, портативный и не требует установки.
- 100% бесплатное программное обеспечение (GPL v3)
Для этого вы можете использовать монитор ресурсов , встроенный в Windows 7, 8, 10 и 11!
Когда вы нашли дескриптор, вы можете идентифицировать процесс, взглянув на столбец Image и/или PID.
Затем вы можете попытаться закрыть приложение, как обычно, или, если это невозможно, просто щелкните правой кнопкой мыши дескриптор и уничтожьте процесс прямо оттуда. Очень просто!
ctrl-alt-делор
Джон Робертсон
Охотник на оленей
ᔕᖺᘎᕊ