Como criar um link simbólico no Windows 10?

102

Estava lendo http://www.dropboxwiki.com/tips-and-tricks/sync-game-saves-across-multiple-computers e sei que junction / mklink também funcionou no Windows 7, mas parece que o comando junction foi aposentado no Windows 10.

Qual é a maneira correta de criar links simbólicos no Windows 10?

vermelho
fonte
2
Você pode baixar a junção do Windows SysInternals (que faz parte da Microsoft).
DavidPostill
Isso funcionou, muito obrigado! Se você responder, posso aceitá-lo como a resposta correta.
vermelho
Ótimo. Vou escrevê-lo como resposta.
DavidPostill
9
O que há de errado mklink?
Daniel B

Respostas:

122

Parece que o comando junction foi retirado do Windows 10.

Você pode baixar a junção no Windows SysInternals (que faz parte da Microsoft):

A junção não apenas permite criar junções NTFS, mas também verificar se os arquivos ou diretórios são realmente pontos de nova análise. Os pontos de nova análise são o mecanismo no qual as junções NTFS se baseiam e são usados ​​pelo RSS (Serviço de Armazenamento Remoto) do Windows, bem como pelos pontos de montagem de volume.

Leia este artigo da Microsoft KB para obter dicas sobre o uso de junções.

Observe que o Windows não suporta junções para diretórios em compartilhamentos remotos.


Então, como crio junções ou links simbólicos de diretório no Windows 10?

Faça o download junctionconforme as instruções acima.

Agora você pode usar os seguintes comandos.

Crie uma junção:

junction "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Crie um link simbólico de diretório:

mklink /D "C:\Documents and Settings\UserName\My Documents\My Dropbox\My Games" "C:\Documents and Settings\UserName\My Documents\My Games"

Você pode usar mklink /jou junctionno Windows 10 para criar junções.

Você pode usar mklink /dno Windows 10 para criar links simbólicos de diretório.

Notas:

  • junctiontambém pode listar junções e determinar se um arquivo é diferente de junção mklink.

  • mklinké um comando interno disponível apenas dentro de um cmdshell.

  • Por padrão, são necessários privilégios de administrador para criar links simbólicos.

    Também pode ser concedido a outros usuários. A configuração de segurança "Criar links simbólicos" pode ser concedida em:

    Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\
    

Exemplos

Usando o mklink para criar um link simbólico de diretório:

F:\test>mklink /d test-dir-sym-link test
symbolic link created for test-dir-sym-link <<===>> test

Usando o mklink para criar uma junção:

F:\test>mklink /j test-junction test
Junction created for test-junction <<===>> test

Usando junção para criar uma junção:

F:\test>C:\apps\NirSoft\SysinternalsSuite\junction.exe test-junction test

Junction v1.06 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

Created: F:\test\test-junction
Targetted at: F:\test\test

Leitura adicional

DavidPostill
fonte
Isso é diferente mklink /j?
Jonno
1
@ Jonno Tanto quanto eu sei, é o mesmo ao criar junções. junctiontambém listará junções diferentesmklink
DavidPostill
2
Pelo que sei, você não pode usar mklinkdentro do PowerShell , portanto, você deve usá-lo cmd.exe. Além disso, você deve executá-lo como administrador. Mas não aceite minha palavra. Estou usando um computador Windows há apenas 40 horas.
de Bruno Bronosky
@BrunoBronosky Correct. Isso ocorre porque mklinké um comando interno disponível apenas dentro de um cmdshell. Nota Alguns cmdcomandos internos têm sido implementadas em PowerShell, por exemplo dir.
DavidPostill
2
@DavidPostill Uma melhoria, mas ainda muito foco, junctionque requer um download separado. mklinkparece funcionar melhor como o foco principal, com o junctionenquadrado como uma opção aposentada adicional no final.
WBT
43

Abra uma sessão do PowerShell como administrador elevado e digite:

New-Item -ItemType SymbolicLink -Path E:\Data\MyGames -Target "C:\users\UserName\MyGames"

ou usando uma sintaxe menos detalhada:

ni E:\Data\MyGames -i SymbolicLink -ta "C:\users\UserName\MyGames" 

Certamente, em 2016 e com o Windows 10, você não deseja mexer nos comandos do cmd ou downloads externos.

O Windows 10 vem com o PowerShell 5, que possui suporte interno para a criação de links simbólicos.

Peter Hahndorf
fonte
6
Certamente em 2016, eu não deveria ter que pular aros para criar links simbólicos! Ainda uma das maiores janelas falha.
David Arno
11
Você está brincando certo? Prefiro fazer "mklink / d test-dir-sym-link test" a "New-Item -ItemType SymbolicLink -Path E: \ Data \ MyGames -Target" C: \ users \ UserName \ MyGames ". sintaxe do PowerShell não é realmente do meu agrado ...
Jaime de los Hoyos M.
8
@JaimedelosHoyosM - usando mais curto sintaxe PowerShell que você pode usarni test-dir-sym-link -i SymbolicLink -ta test
Peter Hahndorf
Existe uma maneira de criar um SymbolicLink a partir do PowerShell como este sem privilégios de administrador?
cjsimon
2
@scape - você pode usar as primeiras letras de um nome de parâmetro se elas identificarem o parâmetro de forma exclusiva, por exemplo, -isão suficientes, -ItemTypemas -tnão são suficientes, porque há mais de um parâmetro que começa com t, então precisamos usar-ta
Peter Hahndorf
14

Se você deseja uma Ferramenta GUI para criar / editar links simbólicos, use http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

O Link Shell Extension (LSE) fornece a criação de Hardlinks, Junções, Pontos de Montagem de Volume e Links Simbólicos do Windows7 / 8, (aqui referidos coletivamente como Links), um processo de clonagem de pastas que utiliza Hardlinks ou Links Simbólicos e um processo de cópia Junções, links simbólicos e hardlinks. O LSE, como o próprio nome indica, é implementado como uma extensão do Shell e é acessado no Windows Explorer ou em gerenciadores de arquivos / pastas similares. A extensão permite que o usuário selecione um ou mais arquivos ou pastas e, com o mouse, conclua a criação dos Links necessários - Hardlinks, Junções ou Links Simbólicos ou, no caso de pastas, para criar Clones que consistam em Links Físicos ou Simbólicos. O LSE é suportado em todas as versões do Windows compatíveis com NTFS versão 5.0 ou posterior, incluindo Windows XP64 e Windows7 / 8/10. Hardlinks,

insira a descrição da imagem aqui

odvpbre
fonte
3
Leia Como recomendo o software para obter algumas dicas sobre como você deve recomendar o software. Você deve fornecer pelo menos um link, algumas informações adicionais sobre o software em si e como ele pode ser usado para resolver o problema na pergunta.
DavidPostill
1
É uma boa ferramenta, mas mais algumas informações na resposta seriam boas.
DavidPostill
1

Não há necessidade de instalar nada!

Existe um symlink_creator.bat arquivo simples e de código aberto , e você pode simplesmente arrastar e soltar o arquivo / pasta desejado nesse arquivo.


Para downvoters curiosos: é de código aberto, então, basta clicar com o botão direito do mouse no arquivo e ver seu conteúdo, várias linhas de códigos.

T.Todua
fonte
6
Você deve adicionar em sua resposta como exatamente esse arquivo em lotes funciona e qual é a sua associação a ele. Os arquivos em lote podem ser muito destrutivos e a execução de arquivos aleatórios da Internet vai contra o senso comum.
21918
além do mais, é interessante que você não tenha comentado essas palavras com a resposta acima, que vincula a um programa desconhecido e o link que eu usei, vincula ao código-fonte aberto.
T.Todua
1
A resposta acima já teve um comentário moderador. Eu estava preocupado principalmente com a sua resposta, porque o site que você vinculou parece um pouco superficial, e o formato da sua resposta acionou algumas bandeiras vermelhas para mim. Só estou sendo paranóico mesmo.
21418
infelizmente, termina com um erro "sintaxe incorreta"
tutejszy 17/09