Гид по технологиям

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

• 6 min read • Windows • Обновлено 27 Nov 2025
Как узнать, какая программа использует файл в Windows
Как узнать, какая программа использует файл в Windows

Быстрая навигация

  • Почему Windows не позволяет изменить файл
  • Определение программы через Microsoft PowerToys (самый простой метод)
  • Альтернативный метод: Resource Monitor
  • Использование PowerShell и handle из Sysinternals
  • Пошаговый SOP: безопасное завершение процесса и откат
  • Что делать, если программа отказывается закрываться
  • Когда методы не работают и обходные пути
  • Контроль рисков, безопасность и резервное копирование
  • Краткий глоссарий и контрольный список по ролям

Окно предупреждения Windows о том, что файл используется другой программой.

Почему Windows не позволяет удалить, отредактировать или переименовать файл

Windows блокирует изменения файлов, которые в данный момент используются другими программами. Это предотвращает повреждение данных и падение приложений. При попытке изменить такой файл система покажет сообщение вроде:

The action can't be completed because the folder or a file in it is open in another program. Close the folder or file and try again.

Зачем это нужно: если файл исчезнет во время чтения или записи, приложение может завершиться с ошибкой, а данные — повредиться. Блокировки предотвращают такие ситуации.

Краткая модель мышления

  • Процесс = выполняющаяся программа. Он может открыть файл на чтение, запись или и то и другое.
  • Дескриптор/handle = ссылка процесса на открытый файл в ядре ОС. Именно handle вызывает блокировку.
  • Блокировка может быть совместной (многие читают) или эксклюзивной (запись — только один процесс).

Определение программы через Microsoft PowerToys (самый простой метод)

Microsoft PowerToys — набор полезных расширений для Windows 10/11. Один из инструментов — File Locksmith: он добавляет пункт в контекстное меню Проводника, который показывает, какие процессы используют файл, и позволяет попытаться их завершить.

  1. Скачайте и установите Microsoft PowerToys с официального репозитория Microsoft.
  2. Запустите PowerToys из меню «Пуск» и включите переключатель «Enable File Locksmith».

Экран настроек PowerToys с переключателем для включения File Locksmith.

  1. В Проводнике щёлкните правой кнопкой по файлу, выберите «Показать дополнительные параметры» (Show More Options), затем «Unlock with File Locksmith».

Расположение кнопки «Показать дополнительные параметры» в контекстном меню.

Пункт «Unlock with File Locksmith» в контекстном меню.

  1. Откроется окно File Locksmith, где будет список процессов, держащих файл. Нажмите «End task», чтобы завершить конкретный процесс.

Окно File Locksmith с кнопкой «End task».

Важно: перед принудительным завершением процесса сохраните данные, если это возможно. Завершение процесса, который пишет файл, может повредить содержимое.

Альтернативный метод: Resource Monitor

Resource Monitor (resmon) показывает связанные дескрипторы (Associated Handles) и процессы, которые держат файлы.

  1. Нажмите правой кнопкой по Пуск → Выполнить, введите resmon и нажмите ОК.
  2. Перейдите на вкладку CPU и найдите секцию “Associated Handles”.

Расположение раздела

  1. В поле поиска введите имя файла — список вернёт процессы, которые используют файл. Имя процесса указано в колонке “Image”.

Поле поиска и пример процесса, использующего файл, в Resource Monitor.

  1. Правый клик по записи → «End Process» позволит завершить процесс. Используйте аккуратно.

Использование PowerShell и handle из Sysinternals

Если вам нужно автоматизировать проверку или работать из командной строки, утилита Handle от Sysinternals полезна.

Скачайте handle с сайта Microsoft Sysinternals, распакуйте в папку, затем в PowerShell перейдите в эту папку и выполните:

./handle.exe -a -u "C:\путь\к\блокированному_файлу"
  • -a — вывести все доступные сведения.
  • -u — показать владельца (user).

Вы получите список дескрипторов и PID процессов. PID можно использовать для завершения процесса через Task Manager, PowerShell (Stop-Process -Id ) или taskkill /PID /F.

Окно PowerShell с результатами работы handle.exe.

Совет: добавьте папку с handle в PATH или скопируйте handle.exe в папку с утилитами, чтобы запускать из любого места.

Пошаговый SOP: безопасный сценарий разблокировки файла

  1. Идентификация: выясните, какой файл заблокирован и где он расположен.
  2. Определение процесса: используйте File Locksmith → Resource Monitor → handle → Process Explorer, чтобы найти PID и имя процесса.
  3. Оценка риска: узнайте, что делает процесс (сохранение документов, служба, системный процесс). Сделайте резервную копию файла, если возможно.
  4. Корректное завершение: закройте приложение штатно (Файл → Сохранить → Выход). Если не помогает — используйте “End task” или taskkill.
  5. Проверка: попробуйте повторно переименовать/удалить/переместить файл.
  6. Откат (если потребуется): восстановите файл из резервной копии.

Критерии приёмки

  • Файл можно безопасно переименовать, переместить или удалить без ошибки блокировки.
  • Данные не утрачены (если применимо — восстановлены из резервной копии).
  • Логи действий сохранены для аудита (если операция производилась на сервере).

Что делать, если программа отказывается закрываться

  • Попробуйте закрыть приложение обычным способом и дождаться сохранения данных.
  • Используйте File Locksmith или Resource Monitor для аккуратного завершения.
  • taskkill /PID /F — принудительное завершение процесса (риск повреждения файлов).
  • Если процесс — служба, используйте services.msc или sc stop .
  • Как крайняя мера — перезагрузка системы. Предпочтительно — планируемая перезагрузка с уведомлением пользователей.

Когда методы не помогают: причины и обходы

  1. Блокировка на уровне ядра или драйвера (антивирус, системные драйверы) — такие процессы часто имеют высокий уровень привилегий и не закрываются обычными методами.
  2. Сетевые ресурсы: файл открыт на другом компьютере в сети — нужно найти удалённый хост и закрыть там дескрипторы или отключить подключение.
  3. Файловая система повреждена — запустите CHKDSK и проверьте целостность диска.
  4. Системный процесс (SYSTEM, svchost) держит файл — избегайте принудительного завершения; лучше перезагружать или отключать службу правильно.

Обходные варианты

  • Перезагрузка системы.
  • Загрузка в безопасном режиме и удаление/переименование файла оттуда.
  • Отключение точки монтирования/демонтаж тома (для внешних дисков или VHD).
  • Использование Process Explorer (Sysinternals) — он показывает информацию о дескрипторе и позволяет закрыть handle, иногда безопаснее, чем kill процесса.

Рольовые чек-листы

Для конечного пользователя

  • Сохраните все открытые документы.
  • Попытайтесь закрыть программу стандартно.
  • Если не помогает — перезагрузите компьютер.

Для администратора

  • Найдите PID с помощью handle/Resource Monitor.
  • Проверьте, является ли процесс сервисом или критичной задачей.
  • Выполните корректное завершение службы или плановую перезагрузку.
  • Убедитесь в наличии резервной копии файла перед принудительным завершением.

Для разработчика

  • Проверьте код, который может держать открытые дескрипторы (не закрытые потоки/файловые объекты).
  • Внедрите обработку исключений и гарантированное закрытие ресурсов (using в C#, try/finally и т.п.).

Безопасность, конфиденциальность и соответствие требованиям

  • Если файл содержит персональные данные, убедитесь, что действия по завершению процесса и удалению логируются и соответствуют политикам конфиденциальности/GDPR в вашей организации.
  • Всегда делайте резервную копию важных данных перед принудительными действиями.
  • На серверах — уведомляйте пользователей и планируйте окна обслуживания, чтобы избежать потери данных.

Краткий глоссарий (1 строка каждый)

  • Процесс — выполняющаяся программа с уникальным идентификатором (PID).
  • Handle/дескриптор — ссылка на открытый ресурс (файл, объект), удерживаемая процессом.
  • Блокировка — состояние, при котором доступ к файлу ограничен одним или несколькими процессами.
  • Taskkill — встроенная утилита Windows для завершения процесса по PID.

Тесты приёмки (минимальные)

  • После выполнения процедуры файл можно переименовать/удалить/переместить без ошибок.
  • Никакие важные данные не утеряны (проверка целостности или восстановление из резервной копии).
  • На сервере — пользователи уведомлены, логи сохранены.

Короткое резюме

File Locksmith (PowerToys) — самый удобный и безопасный способ увидеть, какая программа удерживает файл, и аккуратно завершить её. Resource Monitor и Sysinternals (Handle, Process Explorer) дают более детальную информацию и подходят для автоматизации и сценариев администратора. Перезагрузка или безопасный режим — запасные варианты, когда процессы не завершаются. Всегда оценивайте риск потери данных и делайте резервные копии.

Важно: внимательно оценивайте, что делает процесс, прежде чем завершать его. Некорректное принудительное завершение может привести к потере несохранённых данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро