Windows 7 e cd para links simbólicos

6

Então eu criei um monte de links simbólicos para o topo da árvore de código fonte, diretórios de dados, etc

Como eu, da linha de comando, cd para esses links?

reza
fonte

Respostas:

8

Tem certeza de que você realmente criou links simbólicos ou criou um atalho do Windows? Aqueles não são links e não funcionam como tal. Os links simbólicos reais se comportam como outros diretórios, portanto, se você não puder cd para ele, você a) não tem permissões para entrar no diretório de destino, b) o link simbólico não aponta para um diretório válido, ou c) ele não é realmente um link simbólico.

(Se você quiser criar links simbólicos NTFS, use o comando MKLINK)


Como parábola, imagine um rio e seus afluentes: todos esses rios correm para o grande rio; essa é a estrutura do diretório; cidades ribeirinhas são arquivos. Agora, um atalho do Windows é apenas um sinal na margem do rio: "não é aqui, você precisa voltar para o Mississippi e depois para o Ohio, a cinco milhas rio acima, na margem esquerda" - mas você precisa ler inglês para entendê-lo (tem um programa que lida com isso para você, por exemplo, Explorer.exe). Um link simbólico é como um canal de água: se você o seguir, ele realmente o levará para outro lugar, não importa se você pode ler em inglês ou não (não importa qual programa você use).

Piskvor
fonte
mesma coisa que o atalho da pasta de downloads? Eu pensei que é assim que você cria um link simbólico no Windows 7
reza
2
atalho! = link simbólico : "atalhos" são apenas arquivos regulares com conteúdo "ver que outra coisa lá", e eles são manipulados pelo shell (Explorer.exe, praticamente um programa normal). "links simbólicos" são estruturas de dados especiais na estrutura NTFS, que tornam um diretório acessível a partir de um local alternativo; eles são tratados internamente, bem no fundo do sistema operacional.
Piskvor
Não; atalhos não são links simbólicos.
SLaks
@reza: Quanto a "como criar links simbólicos no Windows", veja o link que eu postei.
Piskvor
@reza: Como você está usando o Windows 7, é o mklink comando que você precisa usar, e não junction como mencionado na resposta, que é para 2000 / XP / 2003. mklink pode ser usado para fazer junções, bem como links simbólicos.
paradroid
0

Links simbólicos são diretórios normais.
Você pode CD neles como qualquer outro diretório.

SLaks
fonte
Eu tenho um link chamado: code
reza
Eu tenho um link chamado: código, você está dizendo apenas digitar cd code. Se é isso que você está dizendo, não está funcionando.
reza
Por que não? O que acontece?
SLaks
2
Tem certeza de que não está falando sobre atalhos?
SLaks
o erro é o mesmo que qualquer caminho inexistente. Sistema não pode encontrar o caminho especificado é o erro
reza
0

Exemplo: pasta de destino é d: \ code \, fiz um atalho (right-drag-drop-drop) para ele em C: \

ver instantâneo: enter image description here

O 'atalho' é um arquivo .lnk que tem o caminho de destino ( D: \ code ) e um monte de outro lixo em ie. nome do computador ( kandalf e Deus sabe o que mais.

Você poderia analisar o arquivo .lnk e usar o caminho dentro dele.
Google para 'parse. Lnk file' (em C / VB / Whatever you preffer) ou '.lnk file format'

Muita dificuldade? Por que não usar caminhos completos no seu arquivo de configuração / o que você está fazendo? ;)

Como último recurso eu iria para Junções NTFS ... Último recurso porque, o gerenciador de arquivos do windows é estúpido, ou seja. quando você exclui uma junção, ela não apenas exclui a junção; Exclui a junção E a pasta de destino e todos os seus arquivos! Agora pense nessa junção sob uma estrutura de diretórios profunda em uma pasta obscura que você deseja excluir mais tarde - sim, você adivinhou!

DM8
fonte
@ DMB: O Explorer no Vista e o mais recente são compatíveis com a junção. A exclusão de uma junção excluirá apenas a junção em si, não o destino.
afrazier
Finalmente! bom saber, obrigado;)
DM8