Por que não consigo criar um link simbólico (mklink) mesmo quando sou administrador [duplicado]

16

Quando executo mklink /D "C:\Users\bwilliams\AppData\Roaming\Sublime Text 2" "C:\Users\bwilliams\Dropbox\Sublime Text", recebo o erro `Você não tem privilégios suficientes para executar esta operação.

Por que não? Sou administrador e só quero criar um link no meu diretório Users \ bwilliams para outra pasta no diretório Users \ bwilliams? O que eu estou fazendo errado aqui?

Obrigado.

Ben
fonte
2
Hilário. Estou tentando fazer exatamente a mesma coisa - sincronizar as configurações da caixa de depósito no Windows - e estou completamente frustrado por que criar links simbólicos não é um privilégio padrão para usuários comuns. Eu possuo a origem e o destino, e ambos estão embaixo do meu diretório pessoal. Por que isso é restrito ?!
Mark-Haase
2
Consegui fazer isso usando mklink / J em vez de mklink / D. Nada explodiu ... ainda ...
Mark E. Haase
@mehaase Comentário antigo, mas ... você pode mangueira as coisas com uma junção mal posicionada, para evitar que isso seja feito inadvertidamente. A questão referenciada, que não é duplicada e não entendo por que a tag duplicada ainda está lá hoje, explica a questão de como adicionar essa permissão a um usuário.
EKW

Respostas:

12

Você precisa executar a mklinkpartir de um shell elevado (clique com o botão direito do mouse no atalho do Prompt de Comando, Executar como Administrador).
Se você estiver executando o mklink a partir de um shell elevado, verifique as permissões no diretório e verifique se não há permissões de Negação explícitas definidas para o grupo Administradores.

Nota: Verifique se você não está tentando criar um link em que já exista um diretório que contém arquivos e não está criando acidentalmente um conjunto recursivo de links.

EKW
fonte
Executei-o como administrador e agora ele apresenta o erro Cannot create a file when that file already exists. . Excluí o diretório de texto sublime do Dropbox, tentei novamente e recebi a mesma mensagem. Você sabe o que há de errado?
1955 Ben
@ Ben É provável que haja um erro no diretório "Dropbox Sublime Text 2", que é o nome do link que está sendo criado. Verifique se não há pasta ou arquivo com esse nome (pode haver um arquivo se você o tiver tentado sem o / D em algum momento).
Mtone
Não existe esse arquivo ou diretório. E a única coisa que posso ver sobre permissões é que "Permissões especiais" não são permitidas (ou negadas) para administradores, sistema ou minha conta de usuário da bwilliams. Não consigo descobrir como "verificar" permissões especiais.
Ben
@ Ben O que é o diretório de origem (o diretório real) e o que é o diretório de destino (o diretório simbólico)? Eu acho que você pode estar inserindo os parâmetros ao contrário.
EKW
3
Acontece que o diretório que eu precisava excluir era o diretório AppData \ Roaming \ Sublime Text 2 original. faz sentido agora que eu fiz isso.
2020 Ben
7

Encontrei os mesmos problemas:

No começo eu recebi este erro: You do not have sufficient privilege to perform this operation

E depois de tentar novamente usando um cmd elevado, executei mklink /D linkToDir C:\temp\otherLinke recebi este erro:Cannot create a file when that file already exists.

Acontece que havia um link simbólico (quebrado?) Lá, marcado como Sistema:

attrib *

A  S  C:\temp\linkToDir

Portanto, para sua informação, verifique se não há um arquivo Oculto (na verdade Sistema) usando esse nome de uma criação de link simbólico quebrada anteriormente.

Era isso que eu queria destacar aqui.

enorl76
fonte
2

Encontrei o mesmo problema e consegui fazê-lo funcionar. Eu estava tentando forçar o iTunes a fazer backup em outra unidade (maior) (C é um SSD).

Digamos que você queira ir de c:\dir1\dirToRedirectpara d:\dirToRedirectToe:

Certifique-se de dirToRedirectque não exista, porque o Windows criará um link com o mesmo nome, o que cria um conflito de nomes. Portanto, exclua dirToRedirect, crie dirToRedirectToe executemklink /j "c:\dir1\dirToRedirect" "d:\dirToRedirectTo"

Tof
fonte