Одна жесткая ссылка заблокирована. Как мне удалить другой?

У меня есть несколько исполняемых файлов в разных каталогах, которые являются жесткими ссылками на одни и те же данные.

.
|-- file 1
`-- cache
    `-- foo.exe
`-- bar
    `-- foo.exe <-hard link to .\cache\foo.exe
`-- baz
    `-- foo.exe <-hard link to .\cache\foo.exe

Если один из них запущен, я не могу удалить остальные. Я исполняю .\bar\foo.exe а потом попробуй удалить .\baz\foo.exe Мне сказали, что файл не может быть удален. Убивать .\bar\foo.exe Процесс невозможен, так как это длительная и дорогостоящая задача. Но мне очень нужно .\baz\foo.exe ушел, потому что мне нужно имя для чего-то другого.

Есть ли способ разорвать ссылку и избавиться от .\baz\foo.exe?

1 ответ

Решение

Вы можете переименовать baz\foo.exe (например, чтобы deleteme.exe), затем удалите его после завершения процесса.

Вы также можете переместить файл в другое место, если он остается в той же файловой системе. (В пределах одной файловой системы переименование и перемещение - это почти одно и то же.)

Другие вопросы по тегам