我是新手,刚学习Qt,利用QProcess调用shell命令通过管道命令输出到文本。
// du -s -m path 获取文件夹大小
QString fromDir =QFileDialog::getExistingDirectory(this,"Open Directort", "home/root/seaso",QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
ui->fom_lineEdit->setText(fromDir);
// QString proc = "/bin/cp";
// QStringList arguments;
// arguments<<"-rf"<<ui->fom_lineEdit->text()<<ui->to_lineEdit->text();
// QProcess pro_cp;
// pro_cp.start(proc, arguments);
// pro_cp.waitForFinished(30000);
//获取文件夹大小;
QString from_p = "/usr/bin/du";
QString fileName="/home/root/seaso/from.txt";
qDebug()<<"from_p"<<from_p;
QStringList from_arg;
from_arg<<"-s"<<"-m"<<fromDir<<">"<<fileName;
qDebug()<<"from"<<ui->fom_lineEdit->text();
QProcess from_du;
from_du.start(from_p, from_arg);
from_du.waitForFinished(30000);
qDebug()<<"from_p"<<from_p;
qDebug()<<"from_arg"<<from_arg;
我希望利用du命令获取 文件夹大小 然后通过管道命令输出到文本,但是这个运行的时候没有输出文本文件。
另外 我用QProcess 调用 cp命令 复制文件没有问题,希望大神们解答以下。