как разблокировать файл без уничтожения связанных процессов

9

В настоящее время я использую OpenedFilesView для управления файлом, но он основан на Windows. Я хочу консольное приложение для процесса автоматизации сборки. я хочу что-то вроде следующего кода

unlockfile file.txt
MajidTaheri
источник

Ответы:

5

Мой инструмент выбора для этого сценария - LockHunter.

Он также имеет интерфейс командной строки в дополнение к графическому интерфейсу. Работает на версиях Windows 7 x68 и x64.

http://lockhunter.com/manual.htm

Удачи!

облако
источник
5

Инструмент Microsoft / Sysinternals Handle.exe может разблокировать файлы:

handle.exe -c 0x38 -p 1234

Вы, вероятно, захотите автоматизировать первый запуск следующего, чтобы найти любое использование app.exe

handle.exe \Path\to\app.exe

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

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

heavyd
источник
3
IMHO, handle.exe способен закрыть файл только по дескриптору, но я хочу закрыть файл по имени
MajidTaheri
2

Чтобы дополнить ответ про handle.exe.

Sysinternals Process Explorer имеет графический интерфейс с той же функциональностью: поиск дескриптора по шаблону, список дескрипторов процесса, закрытие любого из них.

Vadzim
источник
1
Я уже установил это, так что этот совет спас меня от загрузки дополнительных вещей. Спасибо!
DOOManiac
Аналогичный вопрос и ответ с более подробной информацией: как узнать, какой процесс удерживает файл открытым в Windows?
Вадим