Uma junção definitivamente não é a mesma coisa que um link simbólico de diretório, embora eles se comportem de maneira semelhante. A principal diferença é que, se você estiver procurando em um servidor remoto, as junções serão processadas no servidor e os links simbólicos do diretório serão processados no cliente . Veja também o comentário de Matthew sobre o fato de que isso significa que links simbólicos no sistema de arquivos local podem apontar para sistemas de arquivos remotos.
Suponha que em uma máquina chamada Alice você deveria colocar um ponto de junção c:\myjp
e um link simbólico de diretório c:\mysymlink
, ambos apontando para c:\targetfolder
. Enquanto você estiver usando Alice você não notará muita diferença entre eles. Mas se você estiver usando outra máquina chamada Bob, então o ponto de junção
\Alice\c$\myjp
apontará para \Alice\c$\targetfolder
mas o link simbólico
\Alice\c$\mysymlink
apontará para \Bob\c$\targetfolder
(Advertência: por padrão, o sistema não segue links simbólicos em volumes remotos, portanto, na maioria dos casos, o segundo exemplo resultará em "Arquivo não encontrado" ou "O link simbólico não pode ser seguido porque seu tipo está desabilitado. ")
A diferença entre um link simbólico de diretório e um link simbólico de arquivo é simplesmente que um representa um diretório e um representa um arquivo. Como o destino do link não precisa existir quando o link é criado, o sistema de arquivos precisa saber se deve informar aos aplicativos se é um diretório ou não.
Também deve ser notado que a criação de um link simbólico requer um privilégio especial (por padrão, disponível somente para processos elevados), enquanto a criação de uma junção requer apenas acesso ao sistema de arquivos.