GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo descargo información de un acceso directo de Windows *.lnk en Linux?

Puedes usar el lnkinfo herramienta de liblnk (liblnk-utils paquete en Debian):

lnkinfo <file.lnk>

Ejemplo de uso en scripts:

LOCAL_PATH=$(lnkinfo "$1" | grep 'Local path' | cut -d':' -f2-)
ARGS=$(lnkinfo "$1" | grep 'Command line arguments' | cut -d':' -f2-)

Salida de ejemplo:

$ lnkinfo 'Program Files - Shortcut.lnk'
lnkinfo 20171101

Windows Shortcut information:
        Contains a link target identifier
        Contains a relative path string

Link information:
        Creation time           : Jul 14, 2009 03:20:08.555426400 UTC
        Modification time       : Apr 23, 2019 21:36:46.017274100 UTC
        Access time         : Apr 23, 2019 21:36:46.017274100 UTC
        File size           : 12288 bytes
        Icon index          : 0
        Show Window value       : 0x00003000
        Hot Key value           : 12288
        File attribute flags        : 0x00000011
                Is read-only (FILE_ATTRIBUTE_READ_ONLY)
                Is directory (FILE_ATTRIBUTE_DIRECTORY)
        Drive type          : Fixed (3)
        Drive serial number     : 0x0e1909c6
        Volume label            : Local Disk
        Local path          : C:\Program Files
        Relative path           : ..\..\..\Program Files

Link target identifier:
        Shell item list
                Number of items     : 3

        Shell item: 1
                Item type       : Root folder
                Class type indicator    : 0x1f (Root folder)
                Shell folder identifier : 20d04fe0-3aea-1069-a2d8-08002b30309d
                Shell folder name   : My Computer

        Shell item: 2
                Item type       : Volume
                Class type indicator    : 0x2f (Volume)
                Volume name     : C:\

        Shell item: 3
                Item type       : File entry
                Class type indicator    : 0x31 (File entry: Directory)
                Name            : PROGRA~1
                Modification time   : Apr 23, 2019 21:36:48
                File attribute flags    : 0x00000011
                        Is read-only (FILE_ATTRIBUTE_READ_ONLY)
                        Is directory (FILE_ATTRIBUTE_DIRECTORY)
        Extension block: 1
                Signature       : 0xbeef0004 (File entry extension)
                Long name       : Program Files
                Localized name      : @shell32.dll,-21781
                Creation time       : Jul 14, 2009 03:20:10
                Access time     : Apr 23, 2019 21:36:48
                NTFS file reference : MFT entry: 878, sequence: 1



Distributed link tracking data:
        Machine identifier      : <snip>
        Droid volume identifier     : b2638d5e-f5b8-480c-bda0-fdb25ab91131
        Droid file identifier       : 968b84a2-a646-11e9-a124-0021cc6948e3
        Birth droid volume identifier   : b2638d5e-f5b8-480c-bda0-fdb25ab91131
        Birth droid file identifier : 968b84a2-a646-11e9-a124-0021cc6948e3

Parece que no hay muchos programas para hacer esto... Encontré dos scripts de Perl que funcionan.

lslnk.pl y lnk-parse

Úselos así:<whicheverscript> Name.lnk


Linux
  1. Cómo usar un escritorio remoto desde Windows a un escritorio Linux usando XRDP

  2. ¿Cómo crear un archivo en Linux desde la ventana de terminal?

  3. pscp copia el archivo de forma remota desde Windows a Linux

  4. copiar archivo de windows a linux

  5. Cómo descargar un archivo desde URL en Linux

Cómo crear directorios desde un archivo de texto en Linux

Cómo quitar la contraseña de un archivo PDF en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo SSH en su servidor Linux desde Windows

Cómo convertir un archivo .pem a un archivo .ppk en Windows y Linux

Cómo SSH en una máquina con Windows 10 desde Linux O Windows O en cualquier lugar