簡體   English   中英

QT批處理文件未執行。

[英]QT batch file not executing.

我有一個使用以下內容創建的多行批處理文件:

QFile file("C:/temp_exec.bat");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out << cmd;
out << "\n";
out << cmd_alt;
file.close();

其中cmd和cmd_alts是合法的多行批處理命令。 在Windows中雙擊創建的文件可以很好地執行,但是通過QT,它永遠不會執行。

我已經嘗試了所有可用的方法,這是我最近的嘗試,

QProcess p;
p.setWorkingDirectory("C:/");
p.execute("temp_exec.bat");
p.waitForFinished();

在Qt Creator下可以正常工作,但在獨立的可執行文件(包含所有必需的Qt DLL的文件夾中)中,什么都沒有發生。 CMD外殼就像什么都沒有發生一樣打開和關閉。

這是在temp_exec.bat內部創建的:

cd /d "Z:\FRONT 2" & for %%i in (*) do move /Y "%%i" "Z:\2005\050016"
cd /d "Z:\FRONT 2" & for /d %%i in (*) do ROBOCOPY /E /IS /MOVE "%%i" "Z:\2005\050016"

如果雙擊並在Windows內運行可以,但是通過Qt可以。

我不明白為什么框架無法通過QProcess STRANGE解釋為什么會發生這種情況。

有任何想法嗎? 救命? 謝謝。

nvm解決了它。 使用p.startDetached()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM