wslpath2

Crates.iowslpath2
lib.rswslpath2
version0.1.3
sourcesrc
created_at2023-03-04 19:57:04.497102
updated_at2024-10-20 15:25:13.438541
descriptionConvert Windows to WSL paths and vice-versa
homepagehttps://github.com/michidk/wslpath2
repositoryhttps://github.com/michidk/wslpath2
max_upload_size
id800797
size10,994
Michael Lohr (michidk)

documentation

https://docs.rs/wslpath2

README

wslpath2

MIT License Crates.io rust docs Continuous integration

You can use wslpath2 to convert a WSL Path to a Windows Path and vice versa. Internally it calls the wslpath utility, which is a Linux-based utility created by Microsoft to convert Windows and Linux paths. This is called through the WSL command, so that it works on Linux (from within the WSL) as well on Windows.

About this fork

This is a fork of wslpath by pratikpc with the following changes:

  • Uses Rust 2021 edition
  • Adds settings enum to closely map to wslpath.exe's command line arguments
  • Updated to the newest version of wslpath.exe
  • Error handling is improved

Usage

The main function is convert which has the following signature:

pub fn convert(
    path: &str,
    distro: Option<&str>,
    options: Conversion,
    force_absolute_path: bool,
) -> Result<String, Box<dyn std::error::Error>>

Usage example:

// Convert WSL path to Windows
let path = convert("/mnt/c/Users", None, Conversion::WslToWindows, false).unwrap();
println!("WSL Path converted to Windows is {}", path);
// OUTPUT is WSL Path converted to Windows is C:\Users

// Convert Windows path to WSL
let path = convert("C:\\Users", None, Conversion::WindowsToWsl, false).unwrap();
println!("Windows Path converted to WSL is {}", path);
// OUTPUT is Windows Path converted to WSL is /mnt/c/Users

Also, see the examples folder for more examples.

Commit count: 29

cargo fmt