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 shell只是像什么都没发生一样打开和关闭。
以下是在temp_exec.bat:中创建的内容
cd /d "Z:FRONT 2" & for %%i in (*) do move /Y "%%i" "Z:2005 50016"
cd /d "Z:FRONT 2" & for /d %%i in (*) do ROBOCOPY /E /IS /MOVE "%%i" "Z:2005 50016"
如果双击并在Windows中运行,这是可以的,但通过Qt,这不是。
我不明白为什么框架没有通过QProcess解释为什么会发生奇怪的事情。
有什么想法吗?帮助谢谢
nvm解决了它。使用p.startDetached()
相关文章:
- 如何在 c++ 窗口中将参数和返回的退出值传递到批处理文件/从批处理文件获取返回的退出值
- 从之前添加的批处理文件中删除单词
- 无法从C++ Windows 服务执行批处理文件
- 如何将批处理文件的输出读取到C 中的字符串中
- cmake:生成批处理文件调用cl.exe
- 在调用进程的上下文中通过 win32 执行批处理,从而保留环境变量
- 如何运行批处理文件和读取输出
- GetCommandLine():无法从批处理文件(GCC-Compiler)传递多行参数
- exe文件不被识别为内部或外部命令,可操作的程序或批处理文件在C++
- 您如何使用System()调用带有引号的参数的批处理文件
- 重命名批处理文件(删除名称中的一些符号)(python/matlab/shell)
- 对桌面进行了更改.ini使用批处理文件,但文件夹图标不会更改
- 如何将字符串转换为批处理文件中的整数
- 为什么我不能在Windows Server 2008中使用System()从服务启动批处理文件
- c++ 使用创建过程执行批处理文件
- CreateProcess执行批处理文件
- QT批处理文件未执行
- 使用路径中的空格从C++执行批处理文件
- 如何执行批处理文件从C/ c++ w/o控制台窗口
- 是批处理文件,不像shell脚本那样可执行