- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想从 Rust 程序运行这个命令:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "https://stackoverflow.com/"
在 cmd 中,这有效。
cmd /C ""C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "https://stackoverflow.com/""
在 C# 中,这有效。
var comm = @"""""C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"" ""https://stackoverflow.com/""""";
System.Diagnostics.Process.Start("cmd", "/C " + comm);
在 Rust 中,这是行不通的。
let comm = r#"""C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "https://stackoverflow.com/"""#;
let output = Command::new("cmd")
.args(&["/C", comm])
.output()
.expect("failed to execute process");
我收到以下错误。
The network path was not found.
但是,当 comm
为 echo hello
时,它会起作用。
我尝试了另外两种方法:
这个
let comm = r#"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe https://stackoverflow.com/"#;
是
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
这个
let comm = r#""C:\Program Files (x86)\Google\Chrome\Application\chrome.exe https://stackoverflow.com/""#;
是
'\"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe\"' is not recognized as an internal or external command,
operable program or batch file.
最佳答案
这是 a known issue .不幸的是,用于转义参数的 Windows 规则非常重要且难以正确执行。
这段代码:
let comm = r#""C:\Program Files\Google\Chrome\Application\chrome.exe" https://stackoverflow.com/"#;
let mut cmd = Command::new("cmd");
cmd.arg("/c");
cmd.arg(comm);
执行这个:
"cmd" "/c" "\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" https://stackoverflow.com/"
不幸的是,内部引号被转义了,尽管在这种情况下它们不应该被转义。
作为变通方法,在许多情况下,您实际上不需要使用 cmd
。在这些情况下,直接执行流程更为明智:
let output = Command::new(r#"C:\Program Files\Google\Chrome\Application\chrome.exe"#)
.args(&["https://stackoverflow.com/"])
.output()
.expect("failed to execute process");
关于windows - 当命令包含空格时,cmd/C 在 Rust 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44757893/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!