@@ -74,8 +74,18 @@ impl OutputType {
7474
7575 let is_less = pager_path.file_stem() == Some(&OsString::from("less"));
7676
77+ #[cfg(windows)]
78+ let (pager_path, args) = {
79+ let p = std::env::var("ComSpec").unwrap_or_else(|_| "cmd".to_string());
80+ let mut a = args.to_vec();
81+ a.insert(0, pager_path.to_str().unwrap().to_string());
82+ a.insert(0, "/d/c".to_string());
83+ (p, a)
84+ };
85+
86+ let mut p = Command::new(&pager_path);
87+
7788 let mut process = if is_less {
78− let mut p = Command::new(&pager_path);
7989 if args.is_empty() || replace_arguments_to_less {
8090 p.arg("--RAW-CONTROL-CHARS");
8191 if quit_if_one_screen {
@@ -106,7 +116,6 @@ impl OutputType {
106116 p.env("LESSCHARSET", "UTF-8");
107117 p
108118 } else {
109− let mut p = Command::new(&pager_path);
110119 p.args(args);
111120 p
112121 };