Como mover um ponto de atalho do Windows para o alvo e permitir o trabalho de atalho existente?

4

Eu gostaria de fazer o seguinte:

  1. Crie um atalho para uma pasta (digamos mLink.lnk - > C: \ tmp )
    • Isso será enviado para os usuários
  2. Mova e / ou renomeie a pasta ( C: \ tmp - > C: \ tmp2 )
  3. Etapa intermediária de configuração para o atalho anterior funcionar
    • Basicamente, o atalho enviado por mLink.lnk será aberto em C: \ tmp2

Parece que você deve ser capaz de usar o 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. Eu recebo The device does not support symbolic links error quando eu executo o mklink.

Existe uma maneira diferente de fazer isso? Ou a restrição contra links simbólicos basicamente me impede de fazer isso?

    
por enderland 28.01.2014 / 18:33

2 respostas

2

Ok ... Primeiro: um arquivo .lnk do Windows é, em princípio, apenas uma String simples com um nome de pasta. Então, basicamente, você está enviando apenas uma String para eles, que é copiada automaticamente na Barra de Endereços do explorador e aberta (O funcionamento real é um pouco mais complexo, mas para um Link como C: \ tmp é o que acontece)

Segundo - o Windows geralmente não rastreia esses arquivos, porque eles não são links simbólicos. Se você criar um symlink no 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 como antes. As pessoas vão clicar no link em seu próprio sistema e, claro, o LNK ainda lê "C: \ tmp" e em seu sistema nada mudou.

Ele pode funcionar se o LNK apontar para um compartilhamento de rede (por exemplo, conectar uma letra de rede livre P: \ para um samba-share \ server1 \ tmp) e vincular a esse drive conectado - para que o LNK aponte para P: \ Então, se você quiser usar outro Tempfolder no servidor, basta alterar a pasta compartilhada no servidor e todas as pessoas usarão automaticamente a nova pasta ...

    
por 04.02.2014 / 14:08
0

Seria mais simples criar o link simbólico c:\tmp para apontar inicialmente para c:\tmp1 no servidor. A mudança para tmp2 será feita excluindo c:\tmp e recriando-o como link para c:\tmp2 .

Você terá dessa maneira 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, seu cliente de compartilhamento de rede não oferece suporte à expansão de links simbólicos.

    
por 03.02.2014 / 21:46