Если вы активный пользователь Windows, то наверняка сталкивались с ситуацией, когда при попытке удалить или переименовать файл появляется сообщение “Действие не может быть выполнено, так как файл открыт в другой программе”.
Как оказалось, Windows показывает эту ошибку десятилетиями, и она не всегда означает то, что написано. Марк Руссинович, технический директор Azure и технический феллоу Microsoft, недавно прокомментировал эту проблему. Руссинович столкнулся с ней ещё в 1990-х и создал два инструмента специально для её решения.

Что означает ошибка “файл используется” в Windows?
Да, буквально то, о чём вы подумали, но вот более техническое объяснение. Каждый раз, когда программа открывает файл, Windows создаёт так называемый файловый дескриптор.
Файловый дескриптор, по сути, представляет собой ссылку, с помощью которой Windows отслеживает, какая программа в данный момент работает с каким файлом. Windows не даст удалить или переименовать файл, пока на него есть открытый дескриптор, так как это может повредить данные, с которыми программа ещё работает.

Обычно при закрытии приложения Windows освобождает дескрипторы. Но, как многие из нас сталкивались, закрытие видимого окна приложения не всегда означает, что все дескрипторы удалены.
Почему закрытие приложения не всегда освобождает файл
Руссинович выделяет три распространённые причины, по которым файл остаётся заблокированным, даже если вы считаете, что закрыли программу.
-
Во-первых, антивирус может сканировать файл. При сканировании антивирус открывает дескриптор файла на системном уровне. Даже если проигрыватель Media Player или Word полностью закрыты, антивирусный процесс может продолжать сканировать этот же файл в фоновом режиме и удерживать его открытым.
-
Во-вторых, файл может быть открыт с другого компьютера в вашей сети. Если другое устройство в той же сети выполнило операцию, которая открыла файл, удалённый процесс может продолжать удерживать дескриптор.
-
В-третьих, и это самый сложный случай, касается DLL. Если файл загружен в процесс как DLL (динамически подключаемая библиотека), он вообще не отображается как файловый дескриптор. Вместо этого он существует в виде ссылки в памяти. Стандартные инструменты не покажут открытые дескрипторы такого файла, но он всё равно заблокирован, так как отображён в адресное пространство приложения. Чтобы снять блокировку, придётся полностью завершить приложение, в адресном пространстве которого находится эта библиотека.
Как найти процесс, вызывающий ошибку “файл используется”
Ещё в 1990-х Руссинович создал утилиту командной строки Handle именно потому, что сам столкнулся с этой проблемой. Handle входит в состав пакета Sysinternals, набора продвинутых утилит Windows, который теперь поддерживает Microsoft.
Запустив Handle из командной строки с правами администратора, можно увидеть все открытые файловые дескрипторы в системе, а также имя и идентификатор процесса, который их использует. Чтобы быстро получить ответ, достаточно найти нужное имя файла.
Process Explorer служит графическим дополнением Handle. Его тоже создал Руссинович, и, как мы отмечали в нашем предыдущем материале о том, что Microsoft признала: Windows 11 по-прежнему построена на Win32 из 90-х, сам Руссинович сказал, что не поставил бы на актуальность своих инструментов Sysinternals в 2026 году. Тем не менее, Process Explorer и сегодня остаётся одним из самых полезных диагностических инструментов Windows.

В Process Explorer комбинация Ctrl + Shift + F открывает окно поиска дескрипторов или DLL. Введя имя заблокированного файла, можно увидеть, какой процесс его использует. Здесь можно щёлкнуть правой кнопкой мыши по процессу и закрыть дескриптор напрямую или завершить процесс, после чего повторить попытку удаления.

Sysinternals в PowerToys: более простой вариант для обычных пользователей
Если командная строка кажется слишком сложной, у Microsoft есть более дружелюбный вариант. Как сообщал Windows Latest в 2024 году, сам Марк Руссинович предложил интегрировать инструменты Sysinternals в PowerToys, и эта идея набирает популярность.

PowerToys уже включает File Locksmith, инструмент, позволяющий щёлкнуть правой кнопкой мыши по файлу, выбрать “Разблокировать с помощью File Locksmith” и сразу увидеть список всех процессов, удерживающих файл. Проблемный процесс можно завершить из того же окна, а затем удалить файл, даже не приближаясь к командной строке.
Решение, которое Microsoft рекомендует для исправления ошибки “файл используется”
Руссинович также делится практическим обходным решением в видео. Если вы не можете немедленно завершить процесс, удерживающий файл, вместо удаления файл можно переименовать. Windows позволяет переименовывать файл, даже если он открыт в некоторых контекстах.
После переименования можно поместить свежую копию файла с исходным именем в ту же папку, и любой другой процесс, которому нужен файл, будет использовать новую версию. Переименованную старую копию можно будет удалить позже, когда удерживающий её процесс наконец освободит дескриптор.
Эта особенность существует в Windows столько же, сколько и сама ОС. По крайней мере, теперь Microsoft признала её и дала практическое объяснение.
Руссинович десятилетиями создавал инструменты, показывающие то, что Windows скрывает от глаз пользователей, и тот факт, что эти инструменты необходимы и в 2026 году, говорит о том, насколько глубоко эта проблема укоренилась в ОС.






Пока нет комментариев. Будьте первым!