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

72349
Mart

В Windows 7 Ultimate, когда я пытаюсь переименовать новую папку, которая создается (обычно путем копирования), я обычно получаю сообщение об ошибке «Папка используется». Мне пришлось бы подождать некоторое время, прежде чем я смогу изменить имя папки. Файлы ведут себя так же.

Я думаю, что это потому, что я делюсь папкой или библиотекой через общий доступ к домашней группе. Кто-нибудь, кто работает под управлением Windows 7, испытывает это? Есть ли способ предотвратить блокировку папки, чтобы я мог ее изменить?

24

9 ответов на вопрос

21
Mehper C. Palavuzlar

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

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

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

TL; DR? Читать жирным шрифтом!

Если вам не нужны внешние инструменты или вы хотите быстро определить, какой процесс поддерживает использование вашего файла. Затем вы можете использовать инструмент Windows Sysinternals, который называется Process Explorer . Вам даже не нужно извлекать zip-файл, если хотите, просто загрузите живую версию Process Explorer http://live.sysinternals.com/procexp.exe, которая позволяет легко использовать ее в любое время, в любом месте, пока у вас есть Интернет (или если вы установили это на USB, прежде чем вы уехали).

Бонус в том, что вы также можете использовать его для всех других задач, связанных с процессом ...

process explorer

Обозреватель процессов предназначен для замены менеджера задач ИТ-специалистом; среди других альтернатив, таких как Performance Monitor, Resource Monitor или внешний инструмент, такой как Process Hacker.

Функция, которую вы ищете в этом инструменте от Microsoft, настолько проста, насколько это возможно, это CTRL+,F что позволяет вам выполнять поиск по дескрипторам для файлов Handle или DLL . Если вы предпочитаете использовать мышь и меню, вы можете нажать « Найти», «Найти дескриптор» или «DLL» .

Предположим, что файлы шрифтов Arial используются, мы можем просто найти Arialи увидеть, что Instantbird и Firefox любят использовать этот файл шрифтов. Предположим, я бы хотел удалить этот файл, но я бы не смог этого сделать. Давайте внесем изменения и избавимся от файла Arial. Не делай этого дома ...

Process Explorer Search

Простым решением было бы просто закрыть эти две программы, хотя для Instantbird это работает, кажется, что я не могу закрыть Firefox, потому что я пишу этот ответ для вас. И я не хочу рисковать потерей ответа из-за тайм-аута кеша или сбоя буфера обмена. Итак, я собираюсь закрыть все дескрипторы Firefox для Arial.

Убедитесь, что Process Explorer запущен от имени администратора, затем выберите Файл ➯ Показать сведения для всех процессов.

Я просто выбираю маркер в окне поиска, и Process Explorer автоматически выберет Firefox и перейдет к нужной записи в его главном окне. Удостоверьтесь, что вы делаете это на дескрипторе, а не на DLL, возможно, вам придется закрывать программу, если она была DLL. Пришло время закрыть эти дескрипторы, чтобы я мог без причины удалять файлы шрифтов Arial; ну, я всегда могу восстановить их из резервной копии ...

Close handle

Итак, я просто щелкаю правой кнопкой мыши на соответствующих записях и нажимаю Close Handle .

И теперь, с Firefox, у которого нет дескрипторов Arial, я публикую свой ответ; шрифт загружается в любом случае ...

Альтернативой командной строки, которая может только перечислить их, является Handle ; также написано Windows Sysinternals. Вы также можете получить его живую версию http://live.sysinternals.com/handle.exeи использовать ее, handle.exeа затем подстроку, которую хотите найти.

Затем используйте, taskkill /PID 1234 /F /Tгде 1234должно быть заменено PID процесса, который вы получили с помощью Handle. В качестве альтернативы вы можете сделать это по имени изображения с помощью taskkill /IM instantbird.exe /F /T. Пожалуйста, обратите внимание, что принудительное /Fпрекращение и /Tубийства детей ...

Как насчет использования [Process Hacker] (http://processhacker.sourceforge.net/) вместо этого: P Mehrdad 12 лет назад 1
@Mehrdad: предпринимает больше шагов, чтобы добраться туда, и он потерял понятие списка ручек. Что делает его на шаг дальше, когда вы хотите видеть другие записи во время поиска. Это то, что вы получаете, когда крадете функциональность без полной ее реализации. Для ИТ-специалиста Process Explorer является предпочтительным инструментом, так как Process Hacker по-прежнему испытывает недостаток в некоторых шаблонах использования и функциях, таких как использование GPU; они скорее добавляют материал, для которого программисты низкого уровня фактически используют WinDBG, что дает гораздо больший набор функциональных возможностей. Нет, я не буду использовать инструмент, который ворует и для которого существуют еще два инструмента. Tom Wijsman 12 лет назад 0
Я в замешательстве ... что вы имеете в виду под "потерял понятие списка ручек"? Просто запустите программу и выполните Ctrl-F (или `Hacker-> Find Handles или DLLs`) для поиска, или дважды щелкните по процессу и перейдите на вкладку Handles ... разве это не то, что вам нужно? Кроме того, мониторинг GPU также там - просто загрузите плагин Extended Tools. Какие другие функции вы имеете в виду, которые вы не можете найти в PH (или которые не полностью реализованы)? Mehrdad 12 лет назад 0
Это связь между обоими списками, которую они забыли украсть. Tom Wijsman 12 лет назад 1
О, я понимаю, что вы имеете в виду ... если вы предложите это, я уверен, что они рассмотрят его реализацию. :П Mehrdad 12 лет назад 0
Остановка оскорбительного процесса - правильное решение. Закрытие случайного дескриптора - ужасная идея, если вы заботитесь о целостности данных !!! Windows агрессивно обрабатывает дескрипторы, поэтому, если приложение не аварийно завершает работу, оно может перезаписать файл, который вам нужен (например, базу данных паролей?) Https://technet.microsoft.com/en-us/library/2009.04.windowsconfidential.aspx Carl Walsh 6 лет назад 0
4
Mart

Вот мой текущий обходной путь:

Я перестал использовать Teracopy в качестве обработчика копирования по умолчанию (но я еще не удалил его). После копирования папки я бы вошел в нее, а затем вернулся обратно. Тогда я мог бы переименовать его. Иначе мне просто нужно немного подождать.

Я не сталкивался с этой проблемой с Teracopy сам, так что, возможно, это уже исправлено. Альтернатива - создать папку самостоятельно, изменить имя, а затем просто скопировать содержимое ... Tom Wijsman 12 лет назад 0
4
Mehrdad

Краткий ответ :

Ты не можешь

Длинный ответ:

Это зависит от режима обмена, я считаю. (Я не имею в виду такой вид обмена - я имею в виду FILE_SHARE_DELETEвид обмена.) Если файл открывается в режиме удаления общего доступа, то теоретически вы можете написать программу для:

  1. Откройте другой дескриптор файла.

    Либо попробуйте открыть его как обычно, либо попробуйте использовать, SYSTEM_HANDLE_INFORMATIONчтобы найти и продублировать дескриптор.
    Удачи в вопросах взаимоблокировки и т. Д. (Которые могут быть правильно решены только с помощью драйвера ядра).

  2. Переименуйте его через эту ручку, используя FILE_RENAME_INFORMATION.

Я понятия не имею, если ваш текущий режим обмена позволяет это ... вам просто нужно попробовать и посмотреть.

3
Tom Wijsman

Вы можете разблокировать файл с помощью бесплатного инструмента Unlocker. Вы можете скачать его с FileHippo .

Если вам когда-либо не удавалось удалить файл в Windows, и вы не можете определить, какая программа его использует, Unlocker - это решение. Вы когда-нибудь видели эти сообщения об ошибках Windows?

  • Невозможно удалить папку: она используется другим человеком или программой
  • Невозможно удалить файл: доступ запрещен
  • Произошло нарушение обмена.
  • Возможно, используется исходный или целевой файл.
  • Файл используется другой программой или пользователем.
  • Убедитесь, что диск не заполнен и не защищен от записи, и что файл в данный момент не используется.

Unlocker может помочь! Просто щелкните правой кнопкой мыши папку или файл и выберите Unlocker. Если папка или файл заблокированы, появится окно со списком шкафчиков. Просто нажмите Разблокировать все, и все готово!

3
Jed Staton

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

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

Выключите это, перейдя в ОРГАНИЗАЦИЯ> ПАРАМЕТРЫ И ПАРАМЕТРЫ ПОИСКА> ПРОСМОТР (вкладка) ... и затем отметьте «Всегда показывать значки, а не миниатюры». Нажмите Apply / OK, и все готово.

Попробуйте переименовать эту папку сейчас. Сделайте это несколько раз подряд и, надеюсь, вы обнаружите, что проблема с переименованием папки исчезла.

Действительно, изменение пути к папке, которая интенсивно используется, было бы плохой идеей. Tom Wijsman 12 лет назад 1
2

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

Для меня это было решение: отключить создание Thumbs.db • Нажмите «Пуск», введите «Свойства папки» в строке поиска и нажмите «Ввод». • Перейдите на вкладку «Просмотр». • Установите флажок «Всегда показывать значки, а не эскизы». iokevins 13 лет назад 1
Примечание: возникла эта проблема на сетевом ресурсе; а это отключит генерацию миниатюр, я полагаю? iokevins 13 лет назад 0
Это особенно странно, но я думаю, что это, вероятно, результат * медленного * создания миниатюр. Обычно какое-то другое расширение проводника играет роль в замедлении процесса, но это не большая проблема, так как ожидание и отключение - два простых решения ... Tom Wijsman 12 лет назад 0
0
Craig

Это может быть вызвано одной из двух причин:

  1. AV-программа, сканирующая только что созданные файлы.
  2. Функция индексирования Windows 7, обрабатывающая вновь созданный файл / папку.

У меня была такая же проблема, когда я установил Windows 7 и смог настроить функцию поиска / индексации, чтобы не обрабатывать файлы, и это решило ее. На кнопке «Пуск» введите индекс в опции «Поиск программ и файлов». Это должно вызвать Параметры индексирования как один из пунктов. Откройте эту программу, затем выберите местоположение «Пользователи» и нажмите «Изменить». Здесь я отменил выбор папки, в которой хранится большинство моих файлов.

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

Поисковый индексатор работает довольно быстро и запрограммирован таким образом, чтобы он не прерывал вашу работу, он даже планировал сам запускаться во время простоя. Он ни в коем случае не должен использовать файл или папку, это просто предположение. Некоторые антивирусные сканеры имеют больше шансов вмешаться. Возможно, ваш антивирусный сканер сканирует все файлы, к которым пытается обратиться индексатор поиска ... Tom Wijsman 12 лет назад 2
0
Synetech

Убедитесь, что служба Application Experience не отключена . Если это так, установите его вручную:

Run dialog (or command prompt):  > sc config AeLookupSvc start= demand