De acordo com meu entendimento do sistema de arquivos do Windows, um programa pode ler um arquivo de acordo com seu caminho; se esse caminho for alterado, qualquer programa usado para ler esse arquivo não poderá mais fazê-lo. Isso significa que, para qualquer programa no sistema Windows que dependa de um arquivo, as consequências de excluir e renomear um arquivo devem ser as mesmas.
O caso específico do qual essa resposta depende é de um sistema incorporado executando o Windows 2000, o manual do provedor de serviços orienta o usuário a excluir os arquivos dentro de uma pasta. Como usuário cauteloso, simplesmente copiei os arquivos para um caminho chamado "folder_backup" e deixei a pasta vazia.
Durante esta operação, o sistema regrediu e não conseguiu funcionar corretamente. Portanto, o provedor de serviços que escreveu o manual foi chamado. O diagnóstico deles foi que o banco de dados estava corrompido porque havia dois bancos de dados em paralelo, apontando para "folder_backup" como o segundo banco de dados. No meu entender, os arquivos dentro de "D: / folder_backup" teriam sido inertes, exceto o caso excepcional de um programa procurando pastas começando com "folder" ou lendo todo o conteúdo no arquivo "D: /".
De que maneiras não obscuras um arquivo renomeado ainda pode ser acessado por um sistema, caso contrário, seria impossível se o arquivo fosse excluído?
fonte
Respostas:
Mimado pela escolha realmente.
Rastreamento de Link Distribuído.
Links físicos.
OpenFileById.
Números de registro MFT.
... e provavelmente mais. Se é sensato que um aplicativo faça alguma dessas coisas é uma questão diferente, mas certamente é possível .
fonte
Um arquivo renomeado ainda pode ser acessado por outro programa.
Uma maneira de um arquivo renomeado ainda poder ser acessado por outro programa é uma variável de ambiente definida para o novo caminho do arquivo pelo mesmo programa que o renomeou. O programa que deseja acessar o referido arquivo usa a variável de ambiente para o caminho do arquivo em vez de um caminho fixo definido internamente.
Outra maneira é o arquivo ser o único arquivo em uma pasta específica. O programa que deseja usar esse arquivo sabe que nunca deve haver mais de um arquivo nessa pasta específica, mas sabe que o nome do arquivo pode mudar, mas o diretório em que ele pertence permanecerá o mesmo. O programa simplesmente usa o primeiro arquivo que pode encontrar nessa pasta, que sempre deve ser esse arquivo. No entanto, isso não é uma boa prática e é melhor ter uma variável de ambiente.
Caso contrário, alguns programas solicitarão automaticamente que o usuário localize o arquivo antes de continuar executando o código
fonte