QT写入cmd命令并且调用,以及指定路径新建文件夹
生活随笔
收集整理的這篇文章主要介紹了
QT写入cmd命令并且调用,以及指定路径新建文件夹
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
.h頭文件中
void cmd_xhh(QString cmdstring,QString batname="Cmd_copy.bat"); //寫入批處理命令使用的,第二個參數暫時寫入了默認的void cmd_bat(QString batstring); //調用bat文件使用.cpp文件中
//寫入批處理命令的函數 void TL_System::cmd_xhh(QString cmdstring,QString batname) //寫入批處理命令使用的{QFile file_cmd(batname);if(file_cmd.open(QIODevice::WriteOnly | QIODevice::Text))//以只寫文本的方式打開{QTextStream outstream_cmd(&file_cmd); //把文件路徑跟數據流鏈接起來outstream_cmd<<cmdstring; //寫入傳入的命令}else{QMessageBox::warning(NULL,tr("文件寫入錯誤"),tr("Cmd_copy.bat寫入失敗"),QMessageBox::Yes);return; //函數返回}}//調用批處理命令 void TL_System::cmd_bat(QString batstring){QProcess p(nullptr); // QString curPath = QDir::currentPath();//獲取當前應用程序目錄 // p.setWorkingDirectory(curPath); //設置工作目錄 // QString toolpath = batstring; //要調用的腳本文件 // curPath.append(toolpath); //添加腳本文件字符串p.start(batstring); //運行腳本文件if(p.waitForFinished()){ //等待腳本運行完成,超時時間默認是3000s,超時返回0,正常返回1qDebug() << "完成!";}else{qDebug() << "bat運行錯誤!";}qDebug() << p.errorString();}調用方法:
QString curPath = QDir::currentPath();QString binPath = curPath + "/bin/bounce.exe";QString binPathToNat = QDir::toNativeSeparators(binPath);QString fileInPath = curPath +"/out/bellhop/"+fileName+".env";QString inPathToNat = QDir::toNativeSeparators(fileInPath);QString fileOutPath = curPath + "/out/bellhop/" + fileName+".prn";;QString outPathToNat = QDir::toNativeSeparators(fileOutPath);QString CmdString = QString("\"%0\" < \"%1\" > \"%2\"").arg(binPathToNat).arg(inPathToNat).arg(outPathToNat);QString CmdAimfile = curPath + "/out/bellhop/Cmd_copy.bat";cmd_xhh(CmdString,CmdAimfile); //第二個參數默認為 Cmd_copy.batcmd_bat(CmdAimfile);這里CmdString是我想寫入的CMD命令,CmdAimfile ,是我想創建調用CMD命令文件的路徑,結果會在想要的路徑下生成CMD命令
當文件夾不存在想新建文件夾使用下面的代碼
新建文件夾有下面兩個方法,一個是mkdir,必須上級目錄是存在的
一個是mkpath,上級目錄不存在也可以自動創建上級目錄。
總結
以上是生活随笔為你收集整理的QT写入cmd命令并且调用,以及指定路径新建文件夹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT设置控件背景为透明
- 下一篇: 自定义起始时间的时间戳计算(个人代码记录