Skip to main content

Windows LNK File Parser and Creator

Project description

PyLnk 3

PyPI version shields.io PyPI pyversions PyPI download month

Python library for reading and writing Windows shortcut files (.lnk).
Converted to support python 3.

This library can parse .lnk files and extract all relevant information from them. Parsing a .lnk file yields a LNK object which can be altered and saved again. Moreover, .lnk file can be created from scratch be creating a LNK object, populating it with data and then saving it to a file. As that process requires some knowledge about the internals of .lnk files, some convenience functions are provided.

Limitation: Windows knows lots of different types of shortcuts which all have different formats. This library currently only supports shortcuts to files and folders on the local machine.

CLI

Mainly tool has two basic commands.

Parse existed lnk file

pylnk3 parse [-h] filename [props [props ...]]

positional arguments:
  filename    lnk filename to read
  props       props path to read

optional arguments:
  -h, --help  show this help message and exit

Create new lnk file

usage: pylnk3 create [-h] [--arguments [ARGUMENTS]] [--description [DESCRIPTION]] [--icon [ICON]]
                     [--icon-index [ICON_INDEX]] [--workdir [WORKDIR]] [--mode [{Maximized,Normal,Minimized}]]
                     target name

positional arguments:
  target                target path
  name                  lnk filename to create

optional arguments:
  -h, --help            show this help message and exit
  --arguments [ARGUMENTS], -a [ARGUMENTS]
                        additional arguments
  --description [DESCRIPTION], -d [DESCRIPTION]
                        description
  --icon [ICON], -i [ICON]
                        icon filename
  --icon-index [ICON_INDEX], -ii [ICON_INDEX]
                        icon index
  --workdir [WORKDIR], -w [WORKDIR]
                        working directory
  --mode [{Maximized,Normal,Minimized}], -m [{Maximized,Normal,Minimized}]
                        window mode

Examples

pylnk3 p filename.lnk
pylnk3 c c:\prog.exe shortcut.lnk
pylnk3 c \\192.168.1.1\share\file.doc doc.lnk
pylnk3 create c:\1.txt text.lnk -m Minimized -d "Description"

Changes

0.4.2
changed logic for Lnk.path choose (in case of different paths presents at different structures)
read links with root as GUID of KNOWN_FOLDER
[FIX] disabled padding for writing LinkInfo.local_base_path

0.4.0
added support for network links
reworked CLI (added more options for creating links)
added entry point for call tool just like pylnk3
[FIX] allow build links for non-existed (from this machine) paths
[FIX] correct building links on Linux (now expect Windows-like path)
[FIX] fixed path priority at parsing with both local & remote presents

0.3.0
added support links to UWP apps

0.2.1
released to PyPI

0.2.0
converted to python 3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylnk3-0.4.2.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

pylnk3-0.4.2-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file pylnk3-0.4.2.tar.gz.

File metadata

  • Download URL: pylnk3-0.4.2.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.1

File hashes

Hashes for pylnk3-0.4.2.tar.gz
Algorithm Hash digest
SHA256 caee0136f61a8b788154dc8e7c03ac2dde57adc170f1c4786ab4721491ca6e99
MD5 480f24893704b40d5b15bcd6bf63af22
BLAKE2b-256 d3ada55396c33f1dbf3593708ad97401e4ae01a617e85fe0a5ced46871db6ee9

See more details on using hashes here.

File details

Details for the file pylnk3-0.4.2-py3-none-any.whl.

File metadata

  • Download URL: pylnk3-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.1

File hashes

Hashes for pylnk3-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f75c80d85b2063f3549bfc4a00228474b90fa590de9f414f8df075b746b1b427
MD5 127ad6628329152341000bbeecb61d8b
BLAKE2b-256 4c28e3135bf6e3a5580330792eb398c77489f7a6fa1f750add71b4a455d3bc07

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page