#lnk #link #windows #lnk-link

parselnk

Parse windows .lnk files in pure rust

2 releases

0.1.1 Jan 28, 2022
0.1.0 Jan 16, 2020

#911 in Data structures

Download history 139/week @ 2025-03-26 322/week @ 2025-04-02 242/week @ 2025-04-09 99/week @ 2025-04-16 188/week @ 2025-04-23 148/week @ 2025-04-30 199/week @ 2025-05-07 139/week @ 2025-05-14 110/week @ 2025-05-21 195/week @ 2025-05-28 139/week @ 2025-06-04 228/week @ 2025-06-11 257/week @ 2025-06-18 280/week @ 2025-06-25 226/week @ 2025-07-02 414/week @ 2025-07-09

1,194 downloads per month
Used in 4 crates (3 directly)

MIT license

87KB
1K SLoC

parselnk

Build Status Documentation

Parse Windows .lnk files in pure Rust!

Usage

In your Cargo.toml:

From crates.io:

[dependencies]
parselnk = "0.1"

To use master branch:

[dependencies]
parselnk = { git = "https://github.com/rustysec/parselnk-rs" }

In your code:

let lnk_path = std::path::Path::new(r"c:\users\me\desktop\slack.lnk");
let lnk = parselnk::Lnk::from(lnk_path).unwrap();

println!("Lnk relative path: {:?}", lnk.relative_path());

Features

These features are enabled by default and can be toggled off by specifying default-features = false in your Cargo.toml:

# Disable optional features
[dependencies]
parselnk = { version = "0.1", default-features = false }
  • chrono - exposes convenience methods for parsing windows FileTime structures

Helping Out

Issues and pull requests are welcome!

Dependencies

~1.9–2.7MB
~46K SLoC