Abrindo atalhos
Para editar um atalho, obviamente, é necessário abri-lo primeiro, e isso prova ser complicado. Em alguns casos, você pode forçar os programas a carregar arquivos de atalho usando um argumento de linha de comando:
"X:\Path\to\program.exe" "X:\my shortcut.lnk"
Se o destino do link ou o arquivo de atalho real é carregado, depende do programa. Aqui está uma lista (em nenhuma ordem específica) de alguns editores hexadecimais gratuitos que os suportam imediatamente:
Solução alternativa
Caso você não consiga carregar o conteúdo de um arquivo de atalho, abra um prompt de comando e renomeie o .lnk
arquivo para uma extensão diferente e inexistente, como .lne
:
cd /d "X:\Folder\containing\shortcuts"
ren "my shortcut.lnk" "my shortcut.lne"
Se você tiver vários arquivos, também poderá renomear todos eles de uma vez:
ren *.lnk *.lne
Você poderá tratar esses atalhos como arquivos comuns. Ao terminar, renomeie-os novamente para restaurar a funcionalidade usual.
Informação adicional
Um atalho ou link de shell contém informações de metadados usadas para acessar um destino de link específico . É analisado e interpretado pelo shell do Windows. A partir da documentação oficial:
A estrutura do link do shell armazena várias informações que são úteis para os usuários finais, incluindo:
Um atalho de teclado que pode ser usado para iniciar um aplicativo.
Um comentário descritivo.
Configurações que controlam o comportamento do aplicativo.
Dados opcionais armazenados em seções de dados extras .
Fonte: [MS-SHLLINK]: Formato de arquivo binário do Link do Shell (.LNK) - Visão geral
Os atalhos são armazenados como arquivos binários e não podem ser editados usando um editor de texto padrão. Um .lnk
arquivo típico se parece com isso internamente:
00000000 4C 00 00 00 01 14 02 00 00 00 00 00 C0 00 00 00 L...........À...
00000010 00 00 00 46 DC 03 00 02 20 00 00 00 C6 EF 52 BE ...FÜ... ...ÆïR¾
00000020 10 04 CA 01 C6 EF 52 BE 10 04 CA 01 60 45 8A 67 ..Ê.ÆïR¾..Ê.`EŠg
00000030 20 04 CA 01 00 9A 04 00 00 00 00 00 01 00 00 00 .Ê..š..........
Os primeiros vinte bytes são sempre os seguintes:
4C 00 00 00 01 14 02 00 00 00 00 00 C0 00 00 00 00 00 00 46
Leitura adicional