我想用system()
到
1.打开cmd
2.保持打开/显示它
3.run给定路径中的“mybatchfile.bat”(包含空格)
4.通过“2”作为参数
这是system("cmd.exe /k C:/Users/firstname secondname/desktop/mybatchfile.bat 2");
当我运行它时,我得到的"C:/Users/firstname"
写得不正确或者在我的命令提示符中找不到。
我该如何解决这个问题?我正在使用Qt和Qt使用“/”作为通用目录分隔符,就像“/”用作URL中的路径分隔符一样。所以我认为这不是问题所在。
我该如何解决这个问题?还有其他更简单的方法可以用来将参数传递给Qt中的批处理文件吗?任何帮助将不胜感激!
答案 0 :(得分:0)
要启动程序,您可以使用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 );
此代码不是testet,但应该可以运行。