c++ - 使用 qt 作为新进程执行批处理文件
问题描述
我正在尝试执行批处理文件。
此代码应cmd.exe
在分离的进程中开始并执行deleteme.bat
。的返回值为exec->startDetached
true 但不执行批处理文件。
难道我做错了什么?
这是我的代码:
QStringList arguments;
arguments << "/C deleteme.bat";
QProcess * exec = new QProcess();
exec->startDetached("cmd.exe", arguments);
解决方案
这是一个工作示例QProcess
(测试.bat
文件的路径是E:\deleteme.bat
):
QProcess process;
process.setProgram( "cmd.exe" );
process.setArguments( { "/C", R"(E:\deleteme.bat)" } );
process.setWorkingDirectory( R"(E:\)" );
process.setStandardOutputFile( QProcess::nullDevice() );
process.setStandardErrorFile( QProcess::nullDevice() );
process.startDetached();
这deleteme.bat
是自我删除的文件:
DEL "%~f0"
推荐阅读
- mysql - 如何使用多案例语句优化查询
- python - 在 CVXPY 中,如何创建像 x == 1 OR x == 2 这样的 OR 约束?
- python - 在 python 3.9 中将 win32gui 导入为 wn
- ios - 在 iOS 中更改 UITableView 中检查按钮的形状
- javascript - 从 Node.js 执行 Python 脚本并等待终止
- python - 为什么我的哈希集类有效但哈希表失败
- c++ - std::copy 从 span 到 std::vector 的中间(或过去)
- sonarqube - 通过 API 获取当前分析带来的 SonarQube 中的新问题
- c# - 如果连接断开,我是否需要显式回滚事务?
- uninstallation - redmine插件无法卸载