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

<p>как я могу узнать, какой процесс блокирует файл или папку в windows?</p><p>например, при попытке удалить папку windows сообщает об этом:</p><blockquote> <p>действие не может быть завершено, потому что папка открыта в другой программе</p> </blockquote><p>происходит то же самое с файлом, но как мне узнать, какая программа или приложение использует его в настоящее время и не позволяет мне удалить файл или папку?</p>

<p>метод powershell:</p><pre><code>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 } </code></pre><p>команде <code>openfiles</code> необходимо включить поддержку локальных файлов, запустив <code>openfiles /local on</code> и перезапустив.</p><p>подробнее <a href="https://gallery.technet.microsoft.com/how-to-find-out-which-c0d4e60e">как узнать, какой процесс блокирует файл или папку в windows</a> </p>

<p>вы можете использовать<strong> resource monitor </strong>для этого, который поставляется<strong> встроенным </strong>с windows 7, 8 и 10.</p><ol> <li>открыть<strong> resource monitor </strong>, который можно найти <ul> <li>с помощью поиска<strong> resource monitor </strong>или<strong> resmon.exe </strong>в меню «пуск», или</li> <li>как кнопка на вкладке<strong> производительность </strong>в вашем<em> диспетчер задач </em></li> </ul> </li> <li>перейдите на вкладку<strong>cpu</strong></li> <li>используйте<strong> поле поиска </strong>в<strong> связанные дескрипторы </strong>раздел <ul> <li>смотрите синюю стрелку на снимке экрана ниже</li> </ul> </li> </ol><p>найдя дескриптор, вы можете определить процесс, посмотрев на столбец «изображение» и/или «pid».</p><p>затем вы можете попытаться закрыть приложение, как обычно, или, если это невозможно, просто щелкнуть правой кнопкой мыши по дескриптору и завершить процесс прямо оттуда. очень просто!</p><p><img src="https://i.stack.imgur.com/e2tjv.png" alt="resource monitor screenshot"></p>

<p>пара вариантов:</p><p> <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">microsoft/sysinternals process explorer</a> - перейдите в поиск> найти дескриптор или dll. в текстовом поле «обрабатывать или dll substring:» введите путь к файлу (например, «c:\path\to\file.txt») и нажмите «поиск». все процессы, которые имеют открытый дескриптор этого файла, должны быть перечислены.</p><p> <a href="http://www.dr-hoiby.com/wholockme/">wholockme</a> - расширение проводника, которое добавляет опцию контекстного меню</p><p><strong> н.б. </strong>wholockme, по-видимому, не работает с win 10 (по крайней мере, я не смог зарегистрировать его ни в 32-, ни в 64-разрядной версии regsvr32.exe).</p>

<p>посмотрите на <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653">process explorer</a> (<code>procexp.exe</code>).</p><p>из его введения:</p><blockquote> <p>задумывались ли вы, какая программа имеет определенный файл или каталог открыт? теперь вы можете узнать.</p> </blockquote><p>чтобы узнать, какой процесс использует определенный файл, выполните следующие действия:</p><ol> <li> <p>перейдите к <strong> find </strong>, <strong> find handle или dll .. </strong> или просто нажмите <kbd>ctrl</kbd>+<kbd>f</kbd>,.</p> <p><img src="https://i.stack.imgur.com/r9diy.png" alt="enter image description here"></p> </li> <li> <p>введите имя файла и нажмите <strong> поиск </strong>.</p> <p><img src="https://i.stack.imgur.com/2l46q.png" alt="enter image description here"></p> </li> <li> <p>process explorer перечислит все процессы, которые имеют дескриптор открытого файла. нажмите на запись, чтобы сфокусировать процесс в главном окне.</p> <p><img src="https://i.stack.imgur.com/u0fb0.png" alt="enter image description here"></p> </li> <li> <p>при желании вы можете даже закрыть ручку вручную через нижнюю панель (<kbd>ctrl</kbd>+<kbd>l</kbd>):</p> <p><img src="https://i.stack.imgur.com/pyhvl.png" alt="enter image description here"></p> </li> </ol>

<p> <a href="http://lockhunter.com/"><strong> lockhunter </strong></a> может разблокировать любые обработчики, которые могли заблокировать ваши файлы или папки. в отличие от аналогичных бесплатных программ, он поддерживает как 32-разрядные, так и 64-разрядные версии windows.</p><p><img src="https://i.stack.imgur.com/ju6cs.png" alt=""></p><blockquote> <p>это бесплатный инструмент для удаления файлов, заблокированных тем, что вы не знаете. lockhunter полезен для борьбы с вредоносными программами и другими программами, которые блокируют файлы без причины. в отличие от других подобных инструментов, он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке.</p> <ul> <li>показывает процессы, блокирующие файл или папку</li> <li>позволяет разблокировать, удалить, скопировать или переименовать заблокированный файл</li> <li>позволяет убить процесс блокировки</li> <li>позволяет удалить процессы блокировки с жесткого диска</li> <li>интегрируется в меню проводника</li> <li>он удаляет файлы в корзину, поэтому вы можете восстановить их, если удалили по ошибке</li> <li>поддерживает как 32, так и 64-битную windows</li> </ul> </blockquote>

<p> <a href="http://emcosoftware.com/unlock-it">emco unlockit</a> может идентифицировать процесс, который заблокировал файл, а также разблокировать файл, чтобы вы могли удалить/отредактировать/переместить его. программа полностью бесплатна, хотя более новая версия немного медленнее и более раздутая, чем оригинал (который имел простой, непокрытый графический интерфейс, но загружался практически мгновенно и без раздражающего заставки). кроме того, исходная версия использовалась для автоматического всплывающего сообщения при возникновении упомянутой ошибки, что позволяет мгновенно разблокировать файл и выполнить операцию, которую вы пытались выполнить.</p><p>тем не менее, unlockit - невероятно полезная программа, которая предоставляет базовую функциональность, которая критически отсутствует в windows. это один из стандартных наборов утилит, который я устанавливаю на все компьютеры с windows, на которых работаю.</p>

<p>здесь было мое открытие и решение.</p><p>кстати, ни один из приведенных выше ответов не решил мою проблему.</p><p>я даже пытался использовать unlocker, который оказался бесполезным.</p><p>у меня проблема была с memeo autosync backup</p><p>по-видимому, этот процесс резервного копирования оставляет достаточно «призрачного файла». этот «призрачный файл» будет отображаться всякий раз, когда я буду alt-tab на моем компьютере (windows professional xp), то есть я буду видеть два программы ms excel, работающие, когда на панели task bar отображается только одна видимая программа.</p><p>я столкнулся с этим решением, когда подумал, что это может быть защита от вирусов symantec endpoint (anti-virus); и отключил программу. тем не менее, я продолжал получать сообщение об ошибке:</p><blockquote> <p>невозможно удалить (файл large.xls): он используется другим пользователем или программой. закройте все программы, которые могут использовать этот файл, и повторите попытку.</p> </blockquote><p>впоследствии я продолжал видеть уведомление memeo о «синхронизации» и выход из программы.</p><p>впоследствии нет ошибки.</p><p>для вас это может быть любой из этих фоновых сейвов.</p>

<p>если вы не знаете в программе, какой файл он использует, вы можете перейти на «мой компьютер»; щелкните правой кнопкой мыши; выберите управление. в разделе «системные инструменты»> «общие папки»> «открыть файлы» вы сможете увидеть пользователя, заблокировавшего файл. вы можете закрыть файл отсюда, а затем вы можете выполнить задачу переименования или удаления файла. надеюсь это поможет</p>

<p>дополнительная возможность, просто чтобы сэкономить людям время, которое я только что провел:</p><p>в более старых версиях windows может появиться сообщение «отказано в доступе - возможно, у вас нет прав или файл используется». если вы обнаружите через process explorer, что файлы, на самом деле, никем не открыты, есть вероятность, что существует проблема с безопасностью. используя учетную запись администратора, выберите файлы в проводнике, щелкните правой кнопкой мыши и выберите «свойства», «безопасность», «дополнительно», «владелец». скорее всего, файлы принадлежат учетной записи, которая больше не существует или более не может быть проверена на существование (из-за изменения параметров доверия active directory).</p><p>смените владельца на администратора, и вы готовы к работе.</p>