filelocksmith 0.1.0

Detect what processes are locking a file or folder on Windows
docs.rs failed to build filelocksmith-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: filelocksmith-0.1.4

filelocksmith-rs

Version License

Reliably find and quit processes that are locking a file or folder on Windows. This is a difficult problem to solve on Windows, as the OS does not provide a built-in or straight-forward way to do this.

This library wraps the FileLocksmith module from the PowerToys project, which is written in C++. The implementation in PowerToys is endorsed by Microsoft and is very robust.

Installing

[dependencies]

filelocksmith = "0.1"

Usage

use filelocksmith::{find_processes_locking_path, quit_processes, pid_to_process_path};

let path = "C:\\path\\to\\file.txt";
let pids = find_processes_locking_path(path).unwrap();

// print paths of processes locking the file
for pid in &pids {
   println!("[{}] {:?}", pid, pid_to_process_path(*pid));
}

// quit the processes locking the file
if quit_processes(pids) {
 println!("Processes quit successfully");
}