在Rust中,你可以使用std::process::Command
来执行CMD命令
use std::process::Command;
fn main() {
// 定义要执行的命令和参数
let mut command = Command::new("cmd");
command.arg("/c").arg("dir"); // 在Windows上执行dir命令
// 运行命令并捕获输出
let output = command.output().expect("命令执行失败");
// 将输出转换为字符串并打印
println!("命令输出: {}", String::from_utf8_lossy(&output.stdout));
// 检查命令是否成功执行
if output.status.success() {
println!("命令执行成功");
} else {
println!("命令执行失败,错误代码: {}", output.status);
}
}
在这个例子中,我们使用Command::new("cmd")
创建了一个新的命令对象,然后使用arg("/c").arg("dir")
添加了两个参数:/c
表示执行后面的命令,dir
表示我们要执行的命令(在这里是列出当前目录的内容)。
接下来,我们使用command.output()
运行命令并捕获其输出。expect
方法用于处理可能的错误,例如命令未找到或执行失败。
最后,我们将命令的输出转换为字符串并打印出来。我们还检查了命令是否成功执行,通过检查output.status.success()
的值。