在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()
的值。