Moh*_*ani 6 qt command-prompt qprocess
我正在使用CMD,QProcess但我遇到了问题.
我的代码:
QProcess process;
process.start("cmd.exe");
process.write ("del f:\\b.txt\n\r");
process.waitForFinished();
process.close();
Run Code Online (Sandbox Code Playgroud)
当我没有通过争论时,waitForFinished()等待30秒.我想QProcess在执行CMD命令后终止!不多也不少!
您需要通过发送exit命令终止cmd.exe ,否则它将等待命令这是我的建议:
QProcess process;
process.start("cmd.exe");
process.write ("del f:\\b.txt\n\r");
process.write ("exit\n\r");
process.waitForFinished();
process.close();
Run Code Online (Sandbox Code Playgroud)
您正在启动的进程是cmd.exe,它本身不会终止。如果使用参数调用cmd,则应实现所需的功能:-
QProcess process;
process.start("cmd.exe \"del f:\\b.txt"\"");
process.waitForFinished();
process.close();
Run Code Online (Sandbox Code Playgroud)
注意,参数用引号引起来。
或者,您可以调用不带cmd的del进程:-
QProcess process;
process.start("del \"f:\\b.txt"\"");
process.waitForFinished();
process.close();
Run Code Online (Sandbox Code Playgroud)
最后,如果您只想删除文件,则可以使用QFile :: remove函数。
QFile file("f:\\b.txt");
if(file.remove())
qDebug() << "File removed successfully";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9718 次 |
| 最近记录: |