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

.
|-- 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 ответ1

2

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .