Em um sistema de arquivos Windows NTFS, tenho um arquivo (digamos orig.mp3
). Abro este arquivo, por esse caminho orig.mp3
, de maneira que ele esteja em uso (por exemplo, reproduzindo-o no VLC).
Então eu crio um link físico ( cmd /c mklink /h link.mp3 orig.mp3
). Isso resulta em dois caminhos NTFS apontando exatamente para o mesmo arquivo.
Finalmente, tento excluir o arquivo vinculado novamente ( del link.mp3
ou excluir no Windows Explorer).
Isso falha com um erro: "O processo não pode acessar o arquivo porque está sendo usado por outro processo."
Por quê? E mais importante: como evitar isso (além de garantir que nenhum processo tenha o arquivo original em uso)? Posso dizer ao Windows para fazer uma 'exclusão atrasada', para que o arquivo vinculado seja excluído automaticamente quando o original não estiver mais em uso?