rust - 'cargo run' 和启动 .exe 文件之间的区别
问题描述
我在 Rust 之旅中遇到了奇怪的问题。我正在尝试通过 rust 执行命令,例如。“mkdir abc”。我为此使用标准库:
use std::process::Command;
use whoami;
(...)
let mut command = Command::new("mkdir");
command.arg("abc");
command.current_dir(format!("/Users/{}/Desktop", whoami::username()));
let res = command.status();
match res {
Ok(a) => println!("done! {}", a),
Err(e) => println!("err {}", e)
}
只要我使用 cargo run 命令,此代码就可以正常工作。代码构建成功,但从 .exe 文件运行程序给我错误:
no file or directory (os error 2)
无论位置(current_dir)如何,都会出现相同的错误。
我想知道,这两种方法和执行我的代码有什么区别。这个错误的原因是什么。
PS。我使用 Windows 并尝试以管理员身份执行。
编辑:导致错误的特定命令的硬编码字符串
解决方案
推荐阅读
- scala - 在scala和spark中将带有值的字符串拆分为所需的数据帧
- c# - 如何忽略没有有效操作码的数据包
- .net-core - 使用 autofac 和 Mediatr 注册组件
- reactjs - socket io on() 函数客户端无法获取 redux 的最后更新状态
- r - 使用累积识别 R 中的连续重复项
- javascript - 如何将一种泛型类型的结构复制到 TypeScript 中的另一种泛型?
- bash - 涉及环境路径时的命令替换
- python - 如何在显示文本和显示“*”之间进行 tkinter 条目切换
- html - 如何使用网页的全高
- html - 用于抓取 WSJ 和 Yahoo Finance 的 Google App 脚本