Windows 7 / Symlinks - Como copiar um link simbólico para um diretório?

25

É possível copiar um link simbólico para um diretório no Windows 7. Quando tento copiar um diretório com link simbólico, ele tenta copiar profundamente o conteúdo para o local.

John2496
fonte

Respostas:

23

Não sei como fazê-lo no Windows Explorer, mas você pode usar xcopyna linha de comando com o argumento / b, veja aqui .

Neal
fonte
1
@ Neal Trabalhou para mim como um encanto. Eu adicionei /itambém. Verifique se você está trabalhando com a pasta SYMLINKS (não com junções).
Anton Krouglov 9/03/2017
13

use o seguinte comando no prompt de comando elevado :

xcopy /b /i <source symlink name> <destination symlink name>

A saída é 0 Arquivo (s) copiado , no entanto, o link simbólico é criado no destino. Isso é testado no Windows 7 e Windows 8.x, mas deve funcionar a partir do Vista

UPDATE: funciona também no Windows 10

maoizm
fonte
1
não funciona para mim, ele ainda faz uma cópia física, não copiar um link simbólico ...
jakub.g
1
Trabalhou para mim: Win 10 x64, prompt elevado. Testado na vitória 2012 R2 também. VERIFIQUE SE NÃO MISTURA JUNÇÕES COM SÍMBOLOS.
Anton Krouglov 9/03/2017
10

Use um programa que os suporte, obviamente. O Far Manager, por exemplo, permite copiar links simbólicos como links ou percorrê-los e copiar seu conteúdo:

texto alternativo

Joey
fonte
Correção, ele funciona apenas para pastas com links simbólicos locais . Para os de rede, apenas xcopy /b /iajuda.
Anton Krouglov 9/03/2017
2

Far Manager foi a única coisa que funcionou. Obrigado Joey.

Por alguma razão, a Link Shell Extension não fornece uma maneira de copiar links / junções sym, ou sou muito estúpido para descobrir. Tentei de tudo no menu Drop As ....

Com o Far Manager, basta clicar em Copiar na parte inferior da interface, depois de verificar se o outro painel da janela está apontado para a pasta de destino. É simples assim!

Copiei minha pasta de usuário inteira! Alguns links que você precisa corrigir posteriormente, como dados do aplicativo. Se você tiver a Extensão do Shell de Link, clique com o botão direito do mouse e altere o caminho no menu de propriedades do contexto do Link. Caso contrário, eles apontarão para a sua unidade antiga. Certifique-se de corrigir os dados dos aplicativos, AppData \ Local e arquivos temporários da Internet também. Certifique-se de assumir a propriedade antes de copiar!

Além disso, você precisa fazer isso conectado a outro perfil de administrador ou inicializado em outro sistema operacional. Se você for inicializado em outro sistema operacional, verifique se os links apontam para a letra da unidade que o sistema operacional de destino deseja, não para a letra da unidade que o sistema operacional atual deseja. Por exemplo, meu sistema operacional de destino é J: \ users \ Me. Minhas junções apontam para C: \ users \ Me porque C: \ é a letra da unidade na qual vou inicializar. (Sim, clicar nos links agora abrirá a pasta do sistema operacional atual. Não se preocupe.)

Existem entradas do Registro que você precisa alterar. Veja aqui .

gggirlgeek
fonte
1

Também encontrei uma extensão de shell que pode tornar isso um pouco mais simples.

É demonstrado no HowToGeek aqui

E o link para a extensão do shell está aqui

Infelizmente, ainda não tive a chance de testar isso porque preciso fazer isso em um servidor e não quero mexer com a extensão do shell em um servidor de produção - mas achei que poderia ser útil.

Michael12345
fonte
1

Isso foi feito usando o Windows 10 Pro edition. No entanto, acho que é o mesmo no Windows 7 e Windows 8.

Primeiro, adicione a capacidade de criar links simbólicos para sua conta de usuário não administrador. Isso pode ser encontrado na Diretiva de segurança local (secpol) em "Configurações de segurança> Políticas locais> Atribuição de direitos do usuário> Criar links simbólicos". Ao adicionar seu usuário não administrador a essa configuração de direitos do usuário, você poderá criar links simbólicos, uma permissão necessária se você copiar e, portanto, criar um link simbólico.

Em seguida, faça isso em uma janela do prompt de comando:

copy /L sourceLocation targetLocation
eu G-
fonte
Não vejo um /lna copyreferência referente a win2008r2 e win2012r2.
precisa saber é o seguinte
Veja se "help copy" no prompt de comando lista a opção / L. Não tenho certeza se as versões do servidor do Windows oferecem as mesmas opções do Windows 10 e 8, embora se possa esperar.
eug-