使用路径和空格的系统调用



我想使用 system(( 到 1.打开
cmd
2.保持打开/显示 3.
从给定路径(包含一个空格(运行"mybatchfile.bat">
4.传递"2"作为参数。
这是它的样子system("cmd.exe /k C:/Users/firstname secondname/desktop/mybatchfile.bat 2");

每当我运行它时,我都会得到"C:/Users/firstname"写错或在我的命令提示符下找不到。

我该如何解决这个问题?我正在使用Qt,Qt使用"/"作为通用目录分隔符,就像"/"用作URL中的路径分隔符一样。所以我不认为这是这里的问题。

我该如何解决这个问题? 还有没有其他更简单的方法可以将参数传递给Qt中的批处理文件? 任何帮助将不胜感激!

要启动程序,您可以使用QProcess,例如:

auto proc = new QProcess();
QString program = QString(""%1%2"").arg("C:/Users/firstname secondname/desktop/").arg("mybatchfile.bat");
QStringList arguments;
arguments << "2";
proc->setWorkingDirectory("C:/Users/firstname secondname/desktop/");
proc->start( program, arguments );

此代码不是测试,但应该是可运行的。

相关内容

  • 没有找到相关文章

最新更新