Как я могу узнать, какой процесс блокирует файл или папку в Windows?
Например, при попытке удалить папку Windows сообщает об этом:
Действие не может быть завершено, потому что папка открыта в другой программе
Происходит то же самое с файлом, но как мне узнать, какая программа или приложение использует его в настоящее время и не позволяет мне удалить файл или папку?
Метод 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
Вы можете использовать Resource Monitor для этого, который поставляется встроенным с Windows 7, 8 и 10.
Найдя дескриптор, вы можете определить процесс, посмотрев на столбец «Изображение» и/или «PID».
Затем вы можете попытаться закрыть приложение, как обычно, или, если это невозможно, просто щелкнуть правой кнопкой мыши по дескриптору и завершить процесс прямо оттуда. Очень просто!
Пара вариантов:
Microsoft/SysInternals Process Explorer - Перейдите в Поиск> Найти дескриптор или DLL. В текстовом поле «Обрабатывать или DLL substring:» введите путь к файлу (например, «C:\path\to\file.txt») и нажмите «Поиск». Все процессы, которые имеют открытый дескриптор этого файла, должны быть перечислены.
WhoLockMe - Расширение проводника, которое добавляет опцию контекстного меню
Н.Б. WhoLockMe, по-видимому, не работает с Win 10 (по крайней мере, я не смог зарегистрировать его ни в 32-, ни в 64-разрядной версии regsvr32.exe).
Посмотрите на Process Explorer (procexp.exe
).
Из его введения:
Задумывались ли вы, какая программа имеет определенный файл или каталог открыт? Теперь вы можете узнать.
Чтобы узнать, какой процесс использует определенный файл, выполните следующие действия:
Перейдите к Find , Find Handle или DLL .. или просто нажмите Ctrl+F,.
Введите имя файла и нажмите Поиск .
Process Explorer перечислит все процессы, которые имеют дескриптор открытого файла. Нажмите на запись, чтобы сфокусировать процесс в главном окне.
При желании вы можете даже закрыть ручку вручную через нижнюю панель (Ctrl+L):
LockHunter может разблокировать любые обработчики, которые могли заблокировать ваши файлы или папки. В отличие от аналогичных бесплатных программ, он поддерживает как 32-разрядные, так и 64-разрядные версии Windows.
Это бесплатный инструмент для удаления файлов, заблокированных тем, что вы не знаете. LockHunter полезен для борьбы с вредоносными программами и другими программами, которые блокируют файлы без причины. В отличие от других подобных инструментов, он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке.
- Показывает процессы, блокирующие файл или папку
- Позволяет разблокировать, удалить, скопировать или переименовать заблокированный файл
- Позволяет убить процесс блокировки
- Позволяет удалить процессы блокировки с жесткого диска
- Интегрируется в меню Проводника
- Он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке
- Поддерживает как 32, так и 64-битную Windows
EMCO UnlockIT может идентифицировать процесс, который заблокировал файл, а также разблокировать файл, чтобы вы могли удалить/отредактировать/переместить его. Программа полностью бесплатна, хотя более новая версия немного медленнее и более раздутая, чем оригинал (который имел простой, непокрытый графический интерфейс, но загружался практически мгновенно и без раздражающего заставки). Кроме того, исходная версия использовалась для автоматического всплывающего сообщения при возникновении упомянутой ошибки, что позволяет мгновенно разблокировать файл и выполнить операцию, которую вы пытались выполнить.
Тем не менее, UnlockIT - невероятно полезная программа, которая предоставляет базовую функциональность, которая критически отсутствует в Windows. Это один из стандартных наборов утилит, который я устанавливаю на все компьютеры с Windows, на которых работаю.
Здесь было мое открытие и решение.
Кстати, ни один из приведенных выше ответов не решил мою проблему.
Я даже пытался использовать UNLOCKER, который оказался бесполезным.
У меня проблема была с Memeo Autosync Backup
По-видимому, этот процесс резервного копирования оставляет достаточно «призрачного файла». Этот «призрачный файл» будет отображаться всякий раз, когда я буду ALT-TAB на моем компьютере (Windows Professional XP), то есть я буду видеть ДВА Программы MS Excel, работающие, когда на панели TASK BAR отображается только ОДНА видимая программа.
Я столкнулся с этим решением, когда подумал, что это может быть защита от вирусов SYMANTEC Endpoint (Anti-Virus); и отключил программу. Тем не менее, я продолжал получать сообщение об ошибке:
невозможно удалить (файл LARGE.xls): он используется другим пользователем или программой. Закройте все программы, которые могут использовать этот файл, и повторите попытку.
Впоследствии я продолжал видеть уведомление Memeo о «синхронизации» и выход из программы.
Впоследствии НЕТ ОШИБКИ.
Для вас это может быть ЛЮБОЙ из этих фоновых сейвов.
Если вы не знаете в программе, какой файл он использует, вы можете перейти на «Мой компьютер»; щелкните правой кнопкой мыши; выберите Управление. В разделе «Системные инструменты»> «Общие папки»> «Открыть файлы» вы сможете увидеть пользователя, заблокировавшего файл. Вы можете закрыть файл отсюда, а затем вы можете выполнить задачу переименования или удаления файла. Надеюсь это поможет
Дополнительная возможность, просто чтобы сэкономить людям время, которое я только что провел:
В более старых версиях Windows может появиться сообщение «Отказано в доступе - возможно, у вас нет прав или файл используется». Если вы обнаружите через Process Explorer, что файлы, на самом деле, никем не открыты, есть вероятность, что существует проблема с безопасностью. Используя учетную запись администратора, выберите файлы в проводнике, щелкните правой кнопкой мыши и выберите «Свойства», «Безопасность», «Дополнительно», «Владелец». Скорее всего, файлы принадлежат учетной записи, которая больше не существует или более не может быть проверена на существование (из-за изменения параметров доверия Active Directory).
Смените владельца на Администратора, и вы готовы к работе.