7 releases (breaking)
0.6.0 | Nov 7, 2024 |
---|---|
0.5.0 | Jul 31, 2023 |
0.4.0 | May 7, 2022 |
0.3.0 | Oct 18, 2020 |
0.1.0 | Oct 24, 2018 |
#53 in Parser implementations
144,673 downloads per month
Used in 201 crates
(69 directly)
12KB
298 lines
sanitize-filename
A basic filename sanitizer, based on Node's sanitize-filename.
Use like:
extern crate sanitize_filename;
fn main() {
println!("{}", sanitize_filename::sanitize("some-user-defined/../../../string"));
// prints some-user-defined......string
}
You can also configure a few basic options:
let options = sanitize_filename::Options {
truncate: true, // true by default, truncates to 255 bytes
windows: true, // default value depends on the OS, removes reserved names like `con` from start of strings on Windows
replacement: "" // str to replace sanitized chars/strings
};
let sanitized = sanitize_filename::sanitize_with_options("some-user-defined/../../../string", options);
Also provides a basic command line binary. Use like:
cargo install sanitize-filename
sanitize-filename my_filename.txt
Pass a file name to clean to the program (also reads STDIN)
FLAGS:
-r, --replace <r> Replacement characters
--windows, --no-windows Whether to handle filenames for Windows
--truncate, --no-truncate Whether to truncate file names to 255 bytes
Dependencies
~2.7–4MB
~66K SLoC