Um hardlink está bloqueado. Como faço para remover o outro?

0

Eu tenho vários executáveis ​​em diferentes diretórios que são links rígidos para os mesmos dados.

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

Se um deles estiver em execução no momento, não consigo excluir os outros. Eu executo .\bar\foo.exe e tente excluir .\baz\foo.exe Disseram-me que o arquivo não pode ser excluído. Matando o .\bar\foo.exe processo não é viável, pois é uma tarefa longa e dispendiosa. Mas eu realmente preciso .\baz\foo.exe ido, porque eu preciso do nome para outra coisa.

Existe uma maneira de quebrar o link e se livrar de .\baz\foo.exe?

Matthew Scouten
fonte

Respostas:

2

Você pode renomear baz\foo.exe (por exemplo, para deleteme.exe ), depois apague-o depois que o processo terminar.

Você também pode mover o arquivo em outro lugar, desde que ele permaneça dentro do mesmo sistema de arquivos. (Dentro de um único sistema de arquivos, renomear e mover são quase a mesma coisa.)

grawity
fonte
Obrigado. Isso pareceu funcionar. Eu posso ter meu script de limpeza varrendo un-delete-ables em um diretório de lixo, e limpá-los mais tarde.
Matthew Scouten