首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将cmd中的函数system()写入带有C#中空格的特定路径时,绕过了空格问题

将cmd中的函数system()写入带有C#中空格的特定路径时,绕过了空格问题
EN

Stack Overflow用户
提问于 2019-12-08 20:10:28
回答 1查看 45关注 0票数 0
代码语言:javascript
运行
复制
system("start 'C:/Program Files/Adobe/Adobe Photoshop CC 2019/Photoshop.exe'");
system("start C:/Program\ Files/Adobe/Adobe\ Photoshop\ CC\ 2019/Photoshop.exe");
system("start C:/Program Files/Adobe/Adobe Photoshop CC 2019/Photoshop.exe");

我尝试了所有这些方法来进入向量/路径,但如果我执行它,似乎什么都不起作用。

我也试过了:

代码语言:javascript
运行
复制
system("start 'C:\\Program Files\\Adobe\\Adobe Photoshop CC 2019\\Photoshop.exe'");
EN

回答 1

Stack Overflow用户

发布于 2019-12-08 23:11:04

显然您使用的是Windows,您没有提到这一点。

在Windows上,有许多地方可以接受正斜杠和反斜杠来分隔路径中的目录名。例外包括命令del (cmd的内置) IIRC。

要转义包含空格的参数,需要用引号"

要在C字符串中包含引号,需要使用反斜杠对其进行转义。

不幸的是,我手头没有Windows系统,所以这可能包含一个错误。请尝试以下操作:

代码语言:javascript
运行
复制
system("start \"C:/Program Files/Adobe/Adobe Photoshop CC 2019/Photoshop.exe\"");

编辑

在工作中,我不得不使用Windows系统,事实上,上面的建议是错误的。由于start可以设置cmd窗口的标题,因此它将使用它的第一个非选项参数。只有第二个非选项参数将是要启动的程序。

因此,这应该是可行的:

代码语言:javascript
运行
复制
system("start \"\" \"C:/Program Files/Adobe/Adobe Photoshop CC 2019/Photoshop.exe\"");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59235243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档