как удалить папку, которая используется?

<p>иногда, когда я работаю в windows, я получаю эту подсказку, когда пытаюсь удалить каталог:</p><p><img src="https://i.stack.imgur.com/uyk7i.jpg" alt=""></p><pre><code>folder in use the action can't be completed because the folder is open in another program close the folder and try again. </code></pre><p>однако папка вообще не используется, и у меня ее нет. так как я могу удалить его до перезагрузки?</p>

<p>этот ответ старый, но, похоже, все еще получает трафик. как отмечено ниже, в windows теперь есть встроенный инструмент:</p><p>пуск → все программы → стандартные → системные инструменты → монитор ресурсов (или запустите resmon.exe)</p><p>вы можете получить больше информации в ответах ниже этого. остальная часть этого ответа уже не актуальна.</p><hr><p> <a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx">process explorer</a> от sysinternals позволит вам искать через дескрипторы и библиотеки dll. найдите каталог и выясните, какой процесс «использует» эту папку.</p><p>оттуда у вас есть возможность либо закрыть этот процесс, либо просто закрыть этот конкретный дескриптор файла. будьте уверены в том, что вы делаете, когда работаете с дескриптором файла напрямую, и убедитесь, что он не используется каким-то важным процессом.</p>

<p>есть родной графический интерфейс для windows:</p><p><em> пуск >> все программы >> стандартные >> системные инструменты >> монитор ресурсов </em>(или<strong> выполнить </strong><code>resmon.exe</code>)</p><p>вы можете выполнить поиск «связанных дескрипторов», используя окно поиска (обведено красным), и щелкните правой кнопкой мыши процесс, который хотите завершить.</p><hr><p>как пример, на изображении ниже я не могу удалить свой каталог eclipse. поиск связанных дескрипторов eclipse показал, что adb.exe имеет дескриптор каталога. после завершения процесса adb я мог бы удалить каталог eclipse.</p><p><img src="https://i.stack.imgur.com/9pwtj.png" alt="enter image description here"></p>

<p>при использовании инструментов, которые принудительно закрывают дескрипторы файлов (например, упомянутый ранее <a href="http://www.emptyloop.com/unlocker/">unlocker</a> ), имейте в виду, что это может вызвать серьезные проблемы. (смотрите <a href="http://technet.microsoft.com/en-us/magazine/2009.04.windowsconfidential.aspx">эту статью рэймонд чен</a> .) убедитесь, что вы знаете <i>which</i> приложения используют файл, и ни одно из них не делает ничего важного.</p><p>безопаснее сначала попытаться закрыть приложения, а не просто принудительно закрывать ручку.</p>

<p>unlocker и wholockme не работают на 64-битной windows. я использую <a href="http://lockhunter.com">lockhunter</a> .</p>

<p>этот сценарий reg предоставит вам пункт контекстного меню «просмотр дескрипторов», вызываемый правой кнопкой мыши, который вызовет утилиту <a href="http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx">дескриптор sysinternals</a> , чтобы увидеть все открытые дескрипторы файла или папки, по которым вы щелкнули правой кнопкой мыши.</p><p>поместите файл handle.exe из sysinternals в папку, доступную по вашему пути.</p><pre><code>windows registry editor version 5.00 [hkey\_classes\_root\allfilesystemobjects\shell\handle] @="view &handles" [hkey\_classes\_root\allfilesystemobjects\shell\handle\command] @="cmd.exe /k handle -a -u \"%1\"" </code></pre>

<p>у меня такое было. иногда я могу решить проблему, удалив сначала содержимое, затем папку (пусто).</p>

<p>если под «не используется» вы подразумеваете, что для него нет открытых дескрипторов, убедитесь, что<em> application experience </em>service <a href="http://support.microsoft.com/kb/2503886">не отключен</a> . если это так, установите его вручную:</p><pre><code>run dialog (or command prompt): sc config aelookupsvc start= demand </code></pre>

<p>когда я был на xp, я использовал <a href="http://www.dr-hoiby.com/wholockme/">wholockme</a> , чтобы узнать, в каких программах открыты и заблокированы файлы. самая последняя версия, которую я смог найти, не упоминает vista, но она того стоит.</p><p>иногда вы можете удалить его изнутри вручную. просто пройдите весь путь вниз по иерархии, удалите все файлы, переместите каталог вверх и повторите. не знаю, почему windows не может сделать это сама, но иногда это работает для меня.</p>

<p>я использую <a href="http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx">handle</a> от sysinternals (сейчас microsoft). вы можете ввести часть имени папки, чтобы увидеть, какой процесс имеет дескриптор этой папки, а затем убить дескриптор.</p><pre><code>handle64.exe -nobanner "<path>" </code></pre><p>например:</p><p> <a href="https://i.stack.imgur.com/qq0k1.png"> <img src="https://i.stack.imgur.com/qq0k1.png" alt="command output from commandline"> </a> </p><p>как уже упоминалось, убийство ручки может вызвать серьезные проблемы.</p>

<p>чтобы удалить папку/программу, которая говорит, что вы не можете удалить ее, потому что она открыта где-то еще.</p><ul> <li>нажмите кнопку пуск</li> <li>тип taskmgr</li> <li>в открывшемся новом окне на вкладке процесса найдите папку/программу, которую вы пытаетесь удалить.</li> <li>щелкните правой кнопкой мыши и завершите задачу</li> <li>вернитесь в папку/папку программы, и вы сможете удалить ее сейчас</li> </ul>

<p>имел файл docs.zip, используемый winscp.</p><ol> <li>я создал новый файл с тем же именем docs.zip</li> <li>вставка поверх существующего docs.zip, и старый файл заменяется новым файлом с таким же именем.</li> <li>затем я удалил вновь скопированный файл docs.zip все вместе.</li> </ol><p>удачи</p>

<p>пытаться <kbd>ctrl</kbd> + <kbd>shift</kbd> + <kbd>esc</kbd> > "программы", затем щелкните правой кнопкой мыши ту, которую хотите деактивировать, и выберите "деактивировать". затем удалите его снова!</p><p>(моя ос на шведском языке, поэтому переводы могут быть не такими! но вы это понимаете!)</p>

<p>так что уже есть несколько хороших ответов, но я собираюсь внести что-то новое, что я и использовал для решения этой же проблемы ранее сегодня.</p><p>я использовал python. я знаю, я знаю, это не является родным для windows, но это очень распространенная утилита для системных администраторов, разработчиков и суперпользователей, и вы можете избавиться от этого с помощью простого oneliner:</p><p><code>from shutil import rmtree; rmtree('c:\path\to\folder')</code></p><p>... бинго банго.</p>

<p>у меня была такая же проблема с флэш-памятью (16 гб - не имеет значения, вероятно), и это не позволило мне удалить папку. я перепробовал все -freaking- решения, найденные в интернете (скрытие миниатюр, удаление папки из командной строки cmd с выключенным explorer.exe, все ..), и ничего не получалось. что заставило это работать? ну, это:</p><ol> <li>выберите все файлы в папке</li> <li>нажмите на них правой кнопкой мыши и выберите «cut»</li> <li>вернитесь в корневую папку</li> <li>вставьте их</li> <li>удалить их</li> </ol><p>это прекрасно сработало для меня. надеюсь, я помог. :-)</p>