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


26

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

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

Ответы:


23

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

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

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

19

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

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

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

исследователь процесса

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

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

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

Поиск в Process Explorer

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

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

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

Закрыть ручку

Итак, я просто щелкаю правой кнопкой мыши на соответствующих записях и нажимаю 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убивает детей ...


1
Как насчет использования Process Hacker вместо этого: P
Mehrdad

@Mehrdad: предпринимает больше шагов, чтобы добраться туда, и он потерял понятие списка ручек. Что делает его на шаг дальше, когда вы хотите видеть другие записи во время поиска. Это то, что вы получаете, когда крадете функциональность без полной ее реализации. Для ИТ-специалиста Process Explorer является предпочтительным инструментом, так как Process Hacker по-прежнему испытывает недостаток в некоторых шаблонах использования и функциях, таких как использование GPU; они скорее добавляют материал, для которого программисты низкого уровня фактически используют WinDBG, что дает гораздо больший набор функций. Нет, я не буду использовать инструмент, который крадет и для которого существуют еще два инструмента.
Тамара Вийсман

Я в замешательстве ... что вы имеете в виду под "потерял понятие списка ручек"? Просто Hacker->Find Handles or DLLsзапустите программу и выполните Ctrl-F (или ) для поиска, или дважды щелкните по процессу и перейдите на вкладку Handles ... разве это не то, что вам нужно? Кроме того, мониторинг GPU также там - просто скачайте плагин Extended Tools. Какие другие функции вы имеете в виду, которые вы не можете найти в PH (или которые не полностью реализованы)?
Мердад

1
Это связь между обоими списками, которую они забыли украсть.
Тамара Вийсман

О, я понимаю, что вы имеете в виду ... если вы предложите это, я уверен, что они рассмотрят его реализацию. : P
Mehrdad

4

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

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


Я не сталкивался с этой проблемой с Teracopy сам, так что, возможно, это уже исправлено. Альтернативой является создание папки самостоятельно, изменение имени и затем просто копирование содержимого ...
Тамара Вийсман

4

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

Ты не можешь

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

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

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

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

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

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


3

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

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

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

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


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

3

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

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

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

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


2

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


1
Для меня это было решение: отключить создание Thumbs.db • Нажмите «Пуск», введите «Свойства папки» в строке поиска и нажмите «Ввод». • Перейдите на вкладку «Просмотр». • Установите флажок «Всегда показывать значки, а не эскизы».
iokevins

Примечание: столкнулся с этой проблемой на сетевом ресурсе; а это отключит генерацию миниатюр, я полагаю?
iokevins

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

0

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

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

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

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


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

0

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

Run dialog (or command prompt):

  > sc config AeLookupSvc start= demand
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.