Expand description
§windows-args
A command-line argument parser for Windows, copied almost wholesale from the rust standard library.
Offerings include:
Args
andArgsOs
, iterators that produceString
andOsString
values respectively.- Two parsing functions,
Args::parse_cmd
andArgs::parse_args
.- These differ in how they parse the first argument, and in how they treat empty input.
Due to limitations of the current implementation, this crate currently can only be used on Windows.
use windows_args::Args;
// to parse a complete command (beginning with an executable name)
let mut args = Args::parse_cmd(r#"foobar.exe to "C:\Program Files\Hi.txt" now"#);
// to parse arguments to a command (NOT beginning with an executable name)
let mut args = Args::parse_args(r#"foobar to "C:\Program Files\Hi.txt" now"#);
assert_eq!(args.next(), Some("foobar".to_string()));
assert_eq!(args.next(), Some("to".to_string()));
assert_eq!(args.next(), Some("C:\\Program Files\\Hi.txt".to_string()));
assert_eq!(args.next(), Some("now".to_string()));
assert_eq!(args.next(), None);