Одна жесткая ссылка заблокирована. Как мне удалить другой?
У меня есть несколько исполняемых файлов в разных каталогах, которые являются жесткими ссылками на одни и те же данные.
.
|-- 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
), затем удалите его после завершения процесса.
Вы также можете переместить файл в другое место, если он остается в той же файловой системе. (В пределах одной файловой системы переименование и перемещение - это почти одно и то же.)