微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当命令包含空格时,cmd / C在Rust中不起作用

我想从一个Rust程序运行这个命令:

"C:Program Files (x86)GoogleChromeApplicationchrome.exe" "https://stackoverflow.com/"

在cmd中,这个工作。

cmd /C ""C:Program Files (x86)GoogleChromeApplicationchrome.exe" "https://stackoverflow.com/""

在C#中,这个工作。

var comm = @"""""C:Program Files (x86)GoogleChromeApplicationchrome.exe"" ""https://stackoverflow.com/"""""; System.Diagnostics.Process.Start("cmd","/C " + comm);

在锈,这不起作用。

validation“C: Program Files ”是否可写

我无法让我的Python 3.2.2解释器在Windows 7上运行脚本(.py文件

Batchfile:声明和使用布尔variables的最好方法是什么?

通过C#控制台应用程序运行batch file。 命令被忽略

如何将从Windows命令提示符发出的命令的Perl脚本输出redirect到文本文件

let comm = r#"""C:Program Files (x86)GoogleChromeApplicationchrome.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)GoogleChromeApplicationchrome.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)GoogleChromeApplicationchrome.exe https://stackoverflow.com/""#;

'"C:Program Files (x86)GoogleChromeApplicationchrome.exe"' is not recognized as an internal or external command,operable program or batch file.

在windows中使用lua os.execute来启动一个没有CMD闪存的程序

在cmd中ClearCase find和exec%CLEARCASE_PN%总是返回相同的元素

编写一个简单的bash,如命令提示符,支持自动完成(处理tab键)

如何使用RSpec在Ruby中使用Windows命令提示获取颜色?

CMD回声命令只保留最后一行文本

这是一个已知的问题 。 不幸的是,用于转义参数的Windows规则并不重要,并且很难正确对待。

代码

let comm = r#""C:Program FilesGoogleChromeApplicationchrome.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 FilesGoogleChromeApplicationchrome.exe"#) .args(&["https://stackoverflow.com/"]) .output() .expect("Failed to execute process");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐