Determinando se um programa está “realmente usando” uma junção

1

Eu configurei com êxito (?) um link de junção entre a pasta de cache usada pelo navegador Iron para apontar para outra pasta em uma unidade RAM, mas quando vejo o conteúdo e o tamanho de ambas as pastas elas são idênticas. impressão de que uma junção "forçaria" ou redirecionaria um programa para utilizar o alvo e não a fonte. O que da? Por que as duas pastas são idênticas e como sei se o programa está realmente usando a pasta de destino?

    
por user190184 15.01.2013 / 17:59

1 resposta

1

  • "Por que as duas pastas são idênticas?"
  • "Mas por que as duas pastas estão cheias dos mesmos arquivos idênticos?"

Estou com a impressão de que você não tem um conceito claro do que é um cruzamento.

Quando você cria uma junção, na verdade não está criando uma nova pasta. É apenas um "atalho", grosso modo, para uma pasta já existente. Cada ação em uma pasta acontece na outra pasta, porque é uma junção .

Eles não são duas pastas diferentes. É a pasta same , com dois nomes e / ou caminhos diferentes. Imagine uma casa com duas portas diferentes. Os quartos no interior e as coisas dentro dos quartos são os mesmos. Certo?

As pastas são, como você diz, "sincronizadas", por causa disso: elas são na verdade a mesma pasta . Se você excluir todos os arquivos de uma junção, a pasta original estará vazia. Pelo mesmo motivo, uma junção não ocupa mais espaço na unidade.

Veja a explicação sobre links físicos e links de junção no Microsoft MSDN:

A hard link is the file system representation of a file by which more than one path references a single file in the same volume. (...) Any changes to that file are instantly visible to applications that access it through the hard links that reference it. (...) However, the directory entry size and attribute information is updated only for the link through which the change was made. (...) A junction (also called a soft link) differs from a hard link [because it link] directories [instead of files, it can even link] directories located on different local volumes on the same computer.

  • Como posso criar uma junção?

mklink /j junction originalfolder em que "junção" é o nome da junção que está sendo criada e "pasta original" é o nome da pasta para a qual ela apontará. (note que a pasta original tem que existir e a junção tem que não existir ).

  • Como posso saber se uma pasta é uma junção?

dir /a deve fornecer um resultado contendo <JUNCTION> na linha correspondente.

  • Como posso remover a junção?

use rd para removê-lo como uma pasta normal

Observação : se você remover a pasta original, a junção ainda estará presente, apontando para lugar nenhum e retornando um erro quando você tentar abri-la.

    
por 15.01.2013 / 18:33