Удерживание файла каким-либо процессом является основной причиной, по которой его не удаётся удалить средствами Проводника. Процессы же могут быть разными. В Windows 7, 8.1 и 10 при удалении файлов или папок пользователям иногда приходится сталкиваться с ошибкой «Операция не может быть завершена, так как эта папка (файл) открыта в «СОМ Surrogate»» . Решается проблема элементарно, если, конечно, СОМ Surrogate не является замаскированным вирусом, что бывает очень редко.
Перед тем как перейти к решению, позвольте пару слов о самом СОМ Surrogate. Имя исполняемого файла СОМ Surrogate dllhost.exe . Располагается он в папках C:WindowsSystem32 и C:WindowsSysWOW64. В последнем случае его копии либо жёсткие ссылки могут обнаруживаться во вложенных каталогах папки SysWOW64 . Это «родные» директории dllhost.exe , если он обнаруживается в других местах, особенно в каталоге пользователя, высока вероятность, что он является вирусом. Такой файл подлежит обязательному анализу VirusTotal .
Что делать если пишет операция не может быть завершена поскольку эти папка или файл открыты др. пр.
СОМ Surrogate — это системная программа Windows, участвующая в обработке мультимедийных файлов. Она активно взаимодействует с библиотеками .Net и графическими драйверами, способствует корректному отображению эскизов при открытии папок с картинками и видеофайлами, потребляя в эти моменты значительное количество памяти. Как и все процессы, СОМ Surrogate иногда даёт сбои, и удержание им файла или папки является проявлением как раз одного из них.
Возникает она чаще всего при попытке удаления папки с большим количеством изображений. Решается проблема очень просто. Откройте Диспетчер задач, найдите в нём процессы с именем СОМ Surrogate и завершите их принудительно.
На работу системы это никак не повлияет. После этого можете смело удалять уже неудерживаемую процессом папку. С некорректной работой процесса могут быть связаны и другие проблемы, например, появление окна с сообщением о внезапном завершении СОМ Surrogate и подвисание Проводника при клике по каталогу с медиафайлами правой кнопкой мыши или его открытии.
Такое поведение наблюдается, если в папке имеется поврежденный медиафайл или на ПК установлены старые кодеки. У некоторых пользователей ошибка возникала при наличии в системе K-Lite Codec Pack (по причине несовместимости с каким-то другим ПО) . Первым способом устранения проблемы может стать удаление или обновление кодеков, вторым — поиск битого файла и его удаление. Найти его не так уже и сложно. Запустите командой perfmon /res в окошке «Выполнить» монитор ресурсов.
Переключитесь в окне монитора на вкладку «ЦП», найдите в списке файл грузящий память dllhost.exe с описанием «COM Surrogate». Отметьте галочкой процесс dllhost.exe и проанализируйте список связанных с ним дескрипторов в том же окне монитора. Ищите в нём мультимедийные файлы (пути к папкам) , которые в данный момент пытаетесь открыть. Это и будут те самые повреждённые объекты, вызывающие неправильную работу COM Surrogate. Завершите через монитор ресурсов (клик ПКМ по дескриптору) процесс и удалите проблемный файл.
Как удалить папку, если пишет, что она открыта в другой программе?
Рекомендуем также попробовать отключить функцию DEP для файла dllhost.exe .
Командой systempropertiesperformance откройте параметры быстродействия, переключитесь на вкладку «Предотвращение выполнения данных», активируйте радиокнопку «Включить DEP для всех программ. », нажмите «Добавить» и укажите путь к программе COM Surrogate C:WindowsSystem32dllhost.exe .
Сохраните настройки и перезагрузитесь.
Способ этот, однако, не будет работать в 64-битных системах, так как атрибуты DEP для 64-разрядных исполняемых файлов задавать нельзя.
Источник: www.white-windows.ru
Как исправить ошибку: Операция не может быть завершена, поскольку файл .
Как переместить файл если выходит ошибка «Операция не может быть завершена, поскольку этот файл открыт в «System»?
Как переместить файл если выходит ошибка «Операция не может быть завершена, поскольку этот файл открыт в «Microsoft Office Word»?
Как исправить ошибку: Операция не может быть завершена, поскольку файл открыт другой программой?
Этот документ не открыт, он находится в загрузках. Пробовала открывать и закрывать его, все равно выдает данную ошибку, что делать?
Скачивала снова, и все равно выдает ошибку «Операция не может быть завершена, поскольку этот файл открыт в «Microsoft Office Word», как исправить эту ошибку? Пишет, что файл уже испольуется.
комментировать
в избранное
Fanto meRU [13.3K]
6 лет назад
Возможно в процессах висит еще один процесс Word, помимо нового, который создается при открытии файла. А вообще для решения подобных проблем при перемещении, переименовании, удалении и других операций с файлами, когда стандартно сделать не получается и появляется подобная ошибка есть такая бесплатная программа Unlocker. Установив ее, можно по любому проблемному файлу щелкнуть правой кнопкой, выбрать «Unlocker», запустится программа, где будет конкретно показано какой процесс мешает выполнить запрашиваемую операцию. В той же программе можно принудительно завершить процессы, принудительно переименовать или переместить файл.
Кроме того, при открытии документов MS Office создается скрытый временный файл. Он должен удаляться при закрытии документа, но в некоторых случаях он остается. Чтобы отобразить скрытые папки в Windows 7 идем в Панель управления, раздел «Параметры папок», вкладка «Вид», самая нижняя строка ставим «Показывать скрытые папки, файлы, диски». Заходим в папку с проблемным файлом и удаляем этот скрытый файл.
система выбрала этот ответ лучшим
в избранное ссылка отблагодарить
1. Кликаем по панели задач правой кнопкой мыши. 2. Выбираем из всплывшего меню «Запустить диспетчер задач». В открывшемся окне Диспетчера должна быть активирована вкладка «Процессы». 3. В моём случае, ищу строчку «WINWORD.EXE». 4. Кликаю по ней левой кнопкой мыши.
5. Внизу окна Диспетчера нажимаю на «Завершить процесс». В дополнительно вышедшем окне снова жму на «Завершить процесс». Всё, можно перемещать и переименовывать файлы WORD.
Однако, бывает такое: в документ внёс изменения, закрываешь его, с сохранением поправок, а файл ерепенится – не хочет сохраняться в новом виде. В этом случае, я сохраняю файл под другим именем, затем удаляю неизменённый файл, а изменённый называю так, как назывался только что удалённый файл. Привожу пример. Старый файл назывался «Дом». Я его открыл и дополнил 1 предложение.
Закрываю. Он не хочет закрываться с изменениями. Я его сохраняю под именем «Дом1». Затем удаляю «Дом», а «Дом1» переименовываю в «Дом». Победа – изиенения в файле «Дом» присутствуют! — более года назад
Я бы, конечно, дал Ответ, но пользователь БВ Марина Вологда внесла меня в Чёр. список. Хорошо хоть комментарий можно дать. — более года назад
Источник: www.bolshoyvopros.ru
Файл заблокирован процессом Windows, как снять блокировку?
21.08.2020
itpro
Windows 10, Windows Server 2016
комментариев 6
Иногда при попытке удалить, переименовать или переместить какой-то файл в Windows вы можете получить сообщение, что файл занят/заблокирован/используется) другим процессом. Чаще всего имя программы, которая держит файл открытым указывается прямо в окне сообщения File Explorer. Чтобы снять блокировку файла достаточно просто закрыть эту программу. Но бывает ситуации, когда какой-то файл и библиотека используется неизвестным или системным процессом. В этом случае снять блокировку с файла немного сложнее.
Многие приложения открывают файлы в монопольном (эксклюзивном) режиме. При этом файл блокируется файловой системой от операций ввода вывода других приложений. Если вы закрываете приложение, блокировка с файла снимается.
Сообщение о блокировке файла может выглядеть по-разному. Например в следующем примере указан тип файла и с каким приложением он ассоциирован:
File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.
Файл уже используется. Операция не может быть завершена, так как файл или папка открыта в другой программе.
Закройте файл и повторите попытку.
В этом случае вы можете легко понять какое приложение заблокировало файл и закрыть его.
Однако иногда можно увидеть более интересное сообщение, о том, что файл заблокирован неизвестным или системным процессом Windows. Это может быть, как процесс самой ОС Windows, так и другие процессе, работающий с правами System, например, антивирус, агент резервного копирования, база данных mssql и т.д.):
The action can’t be completed because the file is open in SYSTEM.
Файл уже используется. Действие не может быть выполнено, так как этот файл открыт в System.
Попробуем разобраться, как понять какой программой, службой или системным процессом Windows занят файл, как разблокировать файл и можно ли разблокировать файл не закрывая родительский процесс.
Если вы не можете удалить папку в сетевом каталоге, эта проблема чаще все связана с наличием файла thumbs.db с кэшем миниатюр файлов в папке либо тем, что файл на файловом SMB сервере открыт(заблокирован) другим пользователем.
Самый простой вариант разблокировать файл – завершить процесс, которые его заблокировал. Но это не всегда возможно, особенно на серверах.
Чаще всего для поиска процесса, который заблокировал файл рекомендуют использовать утилиту Unlocker. Лично я Unlocker не использую, т.к. она не позволяет получить подробную информацию о процессе или цепочке процессов, которые заблокировали файл. Также нельзя освободить конкретный файл, занятый процессом – приходится завершать приложение целиком.
Кроме того, это сторонняя утилита, при установке которой нужно быть внимательным, т.к. в процессе она предлагает установить пачку ненужные программы в нагрузку.
Когда процесс в Windows открывает файл, этому потоку ввода/вывода назначается файловый дескриптор (handler). Процесс и его дочерние процессы получают доступ к файлу по этому дескриптору. Через Window API вы можете послать сигнал файловой системе на освобождение данного дескриптора и снятие блокировки с файла.
Принудительное закрытие файловых дескрипторов может вызвать нестабильную работу приложения или компьютера. Если вы не знаете, к чему приведет закрытие дескриптора файла для конкретного приложения, то не пытайтесь выполнить это на продуктивном сервере без предварительного теста.
Как разблокировать файл с помощью Process Explorer?
ProcessExplorer это бесплатная утилита из набора системных утилит Sysinternals, которую можно скачать на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). Попробуем с помощью Process Explorer найти, какой процесс заблокировал определенный файл и освободить этот файл, сбросив файловый дескриптор процесса.
- ProcessExplorer не требует установки, просто скачайте распакуйте и запустите с правами администратора procexp.exe ;
- Выберите меню Find ->Find Handle or DLL (или нажмите Ctrl-F );
- Укажите имя файла, который нужно разблокировать и нажмите Search;
- Выберите нужный файл. Процесс, который открыл файлы будет выделен в дереве процессов. Можно завершить этот процесс, щелкнув по нему правой кнопкой и выбрав Kill Process Tree. Но можно попробовать закрыть дескриптор файла, не завершая процесс целиком. Дескриптор файла, который вы искали, автоматически выделяется в нижней панели Process Explorer. Щелкните по дескриптору правой кнопкой и выберите Close handle. Подтвердите закрытие файла.
Если у вас в Process Explorer не отображается нижняя панель со списком открытых дескрипторов процесса, включите пункт меню View -> Lower Pane View -> Handles
Итак, вы закрыли дескриптор файла, не завершая родительский процесс. Теперь вы можете спокойно удалить или переименовать файл.
Сброс дескриптора файла с помощью утилиты Handle
Handle – это еще одна утилита командной строки из комплекта инструментов Sysinternals (доступна для скачивания на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/handle. Она позволяет найти процесс, который заблокировал ваш файл и снять блокировку, освободив дескриптор.
- Скачайте и распакуйте архив с утилитой Handle;
- Запустите командную строку с правами администратора и выполните команду: handle64.exe > listproc.txt
Данная команда сохранит список открытых дескрипторов в файл. Можно вывести дескрипторы для каталога, в котором находится файл, который вы хотите изменить: Handle64.exe -a C:SomePath или конкретного процесса: handle64.exe -p winword.exe
- Откройте файл listproc.txt в любом текстовом редакторе и найдите строку, в которой указано имя заблокированного файла. Скопируйте ID дескриптора файла (значение в hex формате). Затем поднимитесь немного выше к разделу, в котором указан процесс, являющийся владельцем данного дескриптора и запишите его ID. Для процесса запущенного от имени системы скорее всего будет PID 4.
Для некоторых системных процессов handle.exe вернет следующий текст: wininit.exe pid: 732 . Это означает, что вы не может получить информацию об этих системных процессах (даже с правами администратора). Для получения дескрипторов файлов, открытых такими процессами, запустите командную строку с правами System и попробуйте получить список дескрипторов еще раз.
Теперь вернитесь в командную строку и сбросьте дескриптор файла по полученным HandleID и ProcessID. Формат команды следующий: handl64e.exe -c HandleID -p ProcessID Например: handl64e.exe -c 18C -p 18800
Если система отреагирует на закрытие файла корректно, вы разблокируете ваш файл без необходимости завершать процесс или перезагружать сервер/компьютер.
Источник: winitpro.ru