使用QProcess无法在cmd.exe中执行复制命令

时间:2018-07-31 06:29:59

标签: c++ qt qprocess

使用Qprocess执行复制命令时出现问题 以下是我的代码:

QProcess* m_pCopyDirContent = new QProcess(this);

QString m_sourceDir = "C:\A\*.*";
QString m_destDir = "C:\B\*.*";
QString m_Overwrite = "/Y";
m_pCopyDirContent->start(QString("C:\\WINDOWS\\SYSTEM32\\cmd.exe /C copy %1 
%2 %3").arg(m_sourceDir).arg(m_destDir).arg(m_Overwrite));

执行上述代码后没有任何反应。

我测试了一个简单的代码,例如:

Process->start("cmd.exe /C start C:/Users/Admin/Desktop/test.txt") 

它确实有效,但不是我的。

1 个答案:

答案 0 :(得分:1)

{   
    "SAMPLE": [
      {
        "NO_1": [
          {
            "RESULT": [
              {
                "NUMBER": 1,
                "F_NAME": "JOHN",
                "L_NAME": "SMITH"
                },
              {
                "NUMBER": 2,
                "F_NAME": "WILL",
                "L_NAME": "JONES"
                }
            ]
          }
        ]
      },
      {
        "NO_2": [
          {
            "RESULT": [
              {
                "NUMBER": 3,
                "F_NAME": "MARY",
                "L_NAME": "JANE"
                },
              {
                "NUMBER": 4,
                "F_NAME": "NEIL",
                "L_NAME": "STRONG"
                }
            ]
          }
        ]
      }
    ]
}

应该是

QString m_sourceDir = "C:\A\*.*";

实际上,您的编译器应该已经向您发出有关非法转义序列的警告。