日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT写入cmd命令并且调用,以及指定路径新建文件夹

發布時間:2025/4/5 c/c++ 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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命令


當文件夾不存在想新建文件夾使用下面的代碼

QDir dir;QString curPath = QDir::currentPath()+QString("/out/bellhop");//獲取當前應用程序目錄,并且添加文件夾// 檢查目錄是否存在,若不存在則新建bool exist = dir.exists(curPath); //檢查是否存在文件夾if (!exist){bool res = dir.mkpath(curPath);qDebug() << "新建目錄是否成功" << res;}else{qDebug() << "文件夾是否已存在:"<<exist;}

新建文件夾有下面兩個方法,一個是mkdir,必須上級目錄是存在的
一個是mkpath,上級目錄不存在也可以自動創建上級目錄。

總結

以上是生活随笔為你收集整理的QT写入cmd命令并且调用,以及指定路径新建文件夹的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。