Un .lnk
archivo en Windows es un archivo real destinado a ser un acceso directo a otro archivo. Sin embargo, realmente quiero ver el contenido en el .lnk
archivo en sí. Me resulta literalmente imposible hacerlo; no importa lo que intente, mis aplicaciones están abriendo el contenido del archivo al que apunta (arrastrar / soltar en el editor de texto o hexadecimal, archivo | abrir desde el editor de texto o hexadecimal, etc.)
¿Hay alguna manera de decirle a un programa que realmente abra el archivo .lnk en lugar del archivo al que apunta?
.lnk
archivos con una nueva extensión.Respuestas:
Atajos de apertura
Para editar un acceso directo, obviamente debe abrirlo primero, y eso resulta ser complicado. En algunos casos, puede forzar a los programas a cargar archivos de acceso directo utilizando un argumento de línea de comandos:
Sin embargo, si el destino del enlace o el archivo de acceso directo real está cargado depende del programa. Aquí hay una lista (sin ningún orden en particular) de algunos editores hexadecimales gratuitos que los admite de forma inmediata:
HxD
Abrir diálogo Sí
Arrastrar y soltar No
XVI32 , Free Hex Editor Neo , Hexer Tiny , wxHexEditor , Hex-Editor MX , Frhed
Abrir diálogo No
Arrastrar y soltar Sí
Solución alternativa
En caso de que no pueda cargar el contenido de un archivo de acceso directo, puede abrir un símbolo del sistema y cambiar el nombre del
.lnk
archivo a una extensión diferente e inexistente, como.lne
:Si tiene varios archivos, también puede cambiarles el nombre a todos a la vez:
Entonces podrá tratar esos accesos directos como archivos normales. Cuando haya terminado, asegúrese de cambiarles el nombre para restaurar su funcionalidad habitual.
Información Adicional
Un acceso directo, o enlace de shell , contiene información de metadatos utilizada para acceder a un objetivo de enlace específico . Es analizado e interpretado por el shell de Windows. De la documentación oficial:
Los accesos directos se almacenan como archivos binarios y no se pueden editar con un editor de texto estándar. Un
.lnk
archivo típico se parece a esto internamente:Los primeros veinte bytes son siempre los siguientes:
Otras lecturas
fuente
File | Open
realidad parece haber abierto el.lnk
archivo. Gracias.He intentado esto y me funciona en Windows 8.1:
Abrir
LNK
archivos en el Bloc de notas:Open
cuadro de diálogo, el Bloc de notas abrirá elEXE
archivo señalado por elLNK
archivo.Abrir
LNK
archivos en el editor hexadecimal HxD :File
→Open
)Abrir
LNK
archivos con el símbolo del sistema:LNK
archivos y escriba el comando:TYPE SHORTCUTNAME.LNK
Abrir
LNK
archivos en casi cualquier programa:PROGRAM_NAME.EXE "path to LNK file"
fuente
¡El objetivo de un archivo .lnk es que Windows lo trate como un enlace a otro archivo, por lo que debería ser difícil de editar!
Quizás ayudaría si describiera POR QUÉ desea editarlo. Puede cambiar la configuración de un archivo .lnk haciendo clic derecho y seleccionando Propiedades .
Si realmente quieres editarlo, necesitas una herramienta especial. Hay algunos de estos, que incluyen:
NB: No he probado ninguno de estos, solo los busqué en Google.
ACTUALIZAR:
No sé por qué no pensé en esto antes, pero puedes editar las propiedades a través de PowerShell. De esta respuesta anterior en Stack Overflow :
Como esto usa el objeto COM de Shell, ¡también podría hacerlo con WSH o incluso VBA en Office!
fuente
edit
, con el argumento de ruta al acceso directo, se abrirá el archivo de acceso directo. Los programas que tratan el acceso directo de manera similar a un enlace simbólico lo analizan ellos mismos (tal vez a través de funciones de shell). ¿Windows ha recurrido al uso de enlaces simbólicos que parecen atajos después de XP?Los archivos .LNK son interpretados por el shell. Si abre un símbolo del sistema e invoca su herramienta de edición (digamos, por ejemplo, el Bloc de notas) usando el archivo .LNK como argumento, eso debería omitir el shell y abrir el contenido del archivo .LNK.
fuente
.lnk
apuntan.Si utiliza CMD para ejecutar un programa con el archivo de enlace como parámetro, ese parámetro se pasa literalmente al programa. Depende del programa decidir cómo manejar el enlace.
He probado esto con FRHED , el editor hexadecimal gratuito (y portátil): cuando lo ejecuta desde la línea de comando, pasando un enlace como parámetro, le pregunta si desea abrir el archivo vinculado a ( Sí ), el enlace en sí ( No ) o Cancelar .
Curiosamente, si usa Abrir en el menú Archivo FRHED , abre el archivo de destino sin preguntar.
En XP He Frhed en mi SendTo menú contextual, y que funciona de la misma manera que el CMD . Me imagino que Win7 es similar (uso un sistema Win7 para una aplicación dedicada, y haré pruebas simples en él, como se indicó anteriormente, pero no me meto con su configuración).
fuente
SendTo
menú es muy útil, ya que me permite abrir cualquier archivo (incluidos los accesos directos) en el Bloc de notas.Si tiene motivos para editar dichos archivos con frecuencia, agregue un acceso directo a notepad.exe a su carpeta SendTo (en Win 7: C: \ Users \ USER \ AppData \ Roaming \ Microsoft \ Windows \ SendTo). Esto hace que "Enviar a notepad.exe" esté disponible desde su Rt. Haga clic en el menú contextual. El archivo .ink se abrirá, se puede editar y guardar en notepad.exe.
fuente
Los archivos .lnk son solo archivos hasta que un componente de nivel superior, como Explorer.EXE, les asigna un manejo. En un nivel inferior (NTFS), todavía tienen una estructura normal que incluye flujo de datos. En particular, todo el contenido está en la
foo.lnk::$DATA
secuencia. No todas las herramientas de nivel superior reconocerán esa sintaxis. Si simplemente asumen que es un nombre de archivo extraño y lo pasan, obtendrán el contenido .lnk.Por ejemplo, en la línea de comando
MORE < foo.lnk::$DATA > con
se imprimirían los datos, pero es un poco tonto (las partes son binarias)fuente