Skip to content

Convert Windows path to WSL2 path and vice-versa

License

Notifications You must be signed in to change notification settings

michidk/wslpath2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%