Um .lnk
arquivo no Windows é um arquivo real destinado a ser um atalho para outro arquivo. No entanto, eu realmente quero ver o conteúdo do .lnk
próprio arquivo. Estou achando literalmente impossível fazê-lo; não importa o que eu tente, meus aplicativos estão abrindo o conteúdo do arquivo para o qual ele aponta (arraste / solte no editor de texto ou hexadecimal, arquivo | abra no editor de texto ou hexadecimal, etc.)
Existe alguma maneira de dizer a um programa para realmente abrir o arquivo .lnk em vez do arquivo para o qual ele aponta?
.lnk
arquivos facilmente com uma nova extensão.Respostas:
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:
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:
HxD
Abrir caixa de diálogo Sim
Arrastar e soltar Não
XVI32 , Editor hexadecimal gratuito Neo , Hexer minúsculo , wxHexEditor , Hex-Editor MX , Frhed
Abrir caixa de diálogo Não
Arrastar e soltar Sim
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
:Se você tiver vários arquivos, também poderá renomear todos eles de uma vez:
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:
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:Os primeiros vinte bytes são sempre os seguintes:
Leitura adicional
fonte
File | Open
realmente parece ter aberto o.lnk
arquivo. Obrigado.Eu tentei isso e funciona para mim no Windows 8.1:
Abrindo
LNK
arquivos no bloco de notas:Open
caixa de diálogo, o Bloco de Notas abrirá oEXE
arquivo apontado peloLNK
arquivo.Abrindo
LNK
arquivos no editor hexadecimal HxD :File
→Open
)Abrindo
LNK
arquivos usando o prompt de comando:LNK
arquivos e digite o comando:TYPE SHORTCUTNAME.LNK
Abrindo
LNK
arquivos em praticamente qualquer programa:PROGRAM_NAME.EXE "path to LNK file"
fonte
O ponto principal de um arquivo .lnk é que o Windows o trate como um link para outro arquivo, por isso deve ser difícil de editar!
Talvez ajude se você descreveu POR QUE deseja editá-lo. Você pode alterar as configurações de um arquivo .lnk clicando com o botão direito do mouse e escolhendo Propriedades .
Se você realmente deseja editá-lo, precisa de uma ferramenta especial. Existem alguns deles, incluindo:
NB: Eu não tentei nada disso, apenas pesquisei no Google.
ATUALIZAR:
Não sei por que não pensei nisso antes, mas você pode editar as propriedades via PowerShell. A partir desta resposta anterior no Stack Overflow :
Como isso usa o objeto Shell COM, você também pode fazer isso com o WSH ou mesmo o VBA no Office!
fonte
edit
, com o argumento de caminho para o atalho abrirá o arquivo de atalho. Os programas que tratam o atalho de maneira semelhante a um link simbólico analisam eles mesmos (talvez por meio de funções shell). O Windows recorreu ao uso de links simbólicos parecidos com atalhos após o XP?Arquivos .LNK são interpretados pelo shell. Se você abrir um prompt de comando e chamar sua ferramenta de edição (digamos apenas o Bloco de Notas, por exemplo) usando o arquivo .LNK como argumento, isso deve ignorar o shell e abrir o conteúdo do próprio arquivo .LNK.
fonte
.lnk
aponta.Se você usar o CMD para executar um programa com o arquivo de link como parâmetro, esse parâmetro será passado literalmente ao programa. Cabe ao programa decidir como lidar com o link.
Eu testei isso com o FRHED , o editor hexadecimal freeware (e portátil): quando você o executa na linha de comando, passando um link como parâmetro, ele pergunta se você deseja abrir o arquivo vinculado a ( Sim ), o próprio link ( Não ) ou Cancelar .
Estranhamente, se você usar Abrir no menu Arquivo FRHED , ele abrirá o arquivo de destino sem perguntar.
No XP, tenho FRHED no meu menu de contexto SendTo , e isso funciona da mesma maneira que o CMD . Eu imagino que o Win7 seja semelhante (eu uso um sistema Win7 para um aplicativo dedicado e farei testes simples, como acima, mas não mexo com sua configuração).
fonte
SendTo
menu é muito útil, permitindo que eu abra qualquer arquivo (incluindo atalhos) no Bloco de notas.Se você tiver motivos para editar esses arquivos com frequência, adicione um atalho ao notepad.exe à sua pasta SendTo (no Win 7: C: \ Usuários \ USUÁRIO \ AppData \ Roaming \ Microsoft \ Windows \ SendTo). Isso torna o "Send to notepad.exe" disponível na sua Rt. Clique no menu de contexto. O arquivo .ink será aberto e poderá ser editado e salvo no notepad.exe.
fonte
Os arquivos .lnk são apenas arquivos até que um componente de nível superior, como o Explorer.EXE, lhes atribua uma permissão. Em um nível mais baixo (NTFS), eles ainda têm uma estrutura normal, incluindo fluxo de dados. Em particular, todo o conteúdo está no
foo.lnk::$DATA
fluxo. Nem todas as ferramentas de nível superior reconhecerão essa sintaxe. Se eles simplesmente assumirem que é um nome de arquivo estranho e o transmitirem, obterão o conteúdo .lnk.Por exemplo, na linha de comando
MORE < foo.lnk::$DATA > con
imprimiria os dados, mas é um pouco sem sentido (as partes são binárias)fonte