Skip to main content

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.3
remove unnecessary print

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

Release files for pylnk3 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pylnk3 0.4.3
File Size Uploaded
pylnk3-0.4.3.tar.gz 23.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pylnk3 0.4.3
File Interpreter ABI Platform
pylnk3-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 45.3 kB

Release files / pylnk3-0.4.3.tar.gz

Download URL pylnk3-0.4.3.tar.gz
Size 23.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fbc5f512b581382c2a4c11e6df3796f9975bcfd99e3fca2afe531ea61b3c4ac2
BLAKE2b-256 checksum
How to use checksums
b97c8f824baeeb854ebb3c5f547c791cde05733a2e66ae4f249a70ff23c2b7ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / pylnk3-0.4.3-py3-none-any.whl

Download URL pylnk3-0.4.3-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fafa9293290163fed30541fb38f7df21a0e3f6fcc8324597a898ce694c9a593d
BLAKE2b-256 checksum
How to use checksums
3186ed659fbdce3befc0ad059e7c8186b9fceff5b9301122a3930016747b2f9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page