
Eu gostaria de fazer o seguinte:
- Crie um atalho para uma pasta (digamosmLink.lnk-->C:\tmp)
- Isso será enviado por e-mail aos usuários
- Mova e/ou renomeie a pasta (C:\tmp-->C:\tmp2)
- Etapa intermediária de configuração para que o atalho anterior funcione
- Basicamente, o atalho enviado por e-mail mLink.lnk seria abertoC:\tmp2
Parece que vocêdeveser capaz de usar mklink e configurar um link simbólico no local da pasta anterior (C:\tmp) para apontar para o novo local. Basicamente tenha a seguinte configuração:
mLink.lnk --> c:tmp --> c:\tmp2
Infelizmente, não consigo criar links simbólicos no compartilhamento de rede para o qual espero ter esses atalhos. Recebo um The device does not support symbolic links
erro ao executar o mklink.
Existe uma maneira diferente de fazer isso? Ou a restrição contra links simbólicos basicamente me impede de fazer isso?
Responder1
Ok... Primeiro: um arquivo .lnk do Windows é, em princípio, apenas uma simples String com um nome de pasta. Então, essencialmente, você está apenas enviando uma String para eles, que é automaticamente copiada na barra de endereços do seu explorador e aberta (o funcionamento real é um pouco mais complexo, mas para um link como C:\tmp é isso que acontece)
Segundo - o Windows geralmente não rastreia esses arquivos, porque eles não são links simbólicos. Se você criar um link simbólico em seu PC, onde C:\tmp aponta para a pasta C:\tmp2, isso não alterará o conteúdo do arquivo LNK. Então você está enviando exatamente o mesmo arquivo por e-mail de antes. As pessoas clicarão no link em seu próprio sistema e é claro que o LNK ainda lê "C:\tmp" e em seu sistema nada mudou.
Pode funcionar se o LNK apontar para um compartilhamento de rede (por exemplo, conectar uma letra de rede livre P:\ a um compartilhamento de samba \server1\tmp) e vincular a esta unidade conectada - então o LNK aponta para P:\ Então se você quiser usar outra Tempfolder no servidor, basta alterar a pasta compartilhada no servidor e todas as pessoas usarão automaticamente a nova pasta...
Responder2
Seria mais simples criar o link simbólico c:\tmp
para apontar inicialmente c:\tmp1
no servidor. A mudança para tmp2 será feita excluindo c:\tmp
e recriando-o como link para c:\tmp2
.
Você terá desta forma apenas um link que nunca muda para os usuários, mas que você pode alterar no servidor a qualquer momento.
Se isso não funcionar, então o seu cliente de compartilhamento de rede não suporta expansão de link simbólico.