【发布时间】:2016-05-06 13:41:20
【问题描述】:
我正在尝试使用 Qt 从命令行运行 .cmd 文件。我需要能够启动 .cmd 文件,然后我需要读取行输出以便能够解释它是否成功。
我正在测试的 .cmd 文件如下:
@ECHO OFF
ECHO myBat Started.
ECHO myBat Ended.
从命令行运行它会给我“myBat Started”。接着是“myBat Ended”。
下面是我试图从中读取数据输出的代码。
QString batName = "/path/to/*.cmd";
QProcess p;
qDebug() << "starting command";
p.start("cmd.exe", QStringList() << batName);
if (p.waitForStarted()){
qDebug() << "cmd started";
p.waitForFinished();
qDebug() << p.readAllStandardOutput();
} else {
qDebug() << "Failed to start";
}
当我运行它时,我得到“启动命令”,然后是“cmd 启动”,然后是“”。所以我正确地打开了控制台(我认为),它完成了,但是我没有得到任何数据输出。
读取命令行输出需要更改哪些内容?
【问题讨论】: