使用Qt在CMD中复制多个文件

时间:2017-08-08 12:25:04

标签: c++ qt visual-c++ cmd copy

我正在尝试使用名为 copyProcess QProcess将多个文件复制到Qt 4.8中的目标文件夹。问题是,当我使用此命令时,没有任何反应,在cmd中,它显示无效的语法。 我从StringList得到的值是这个

  

for%I in(",   " C:/Users/xyz.mp4"," C:/Users/V46.srt"," C:/Users/FP.txt",&# 34;)","复制   %I"," C:\ Users \ Nina \ Desktop \ New folder(9)")

        d->copyProcess =  new QProcess(this) ;
        QStringList copyProcessParameters;
       // copyProcessParameters.append("-rf");
        Q_FOREACH(QString fileName, fileNames)
        {
            d->totalFileSize += this->getSize(fileName);
            d->filesToCopy.append(fileName);
        }
        copyProcessParameters.append(d->filesToCopy);
        copyProcessParameters.append("do copy %I");
        copyProcessParameters.append(destinationDir);
        d->copyProcess->start("for %I in", copyProcessParameters);

那么有没有办法可以在qt中使用批处理脚本,它可以一次复制多个文件?

1 个答案:

答案 0 :(得分:0)

使用QT可能会给您更多灵活性。但是如果你想要并发副本,你可以使用START。当然,将NUL的目的地更改为您的目录。

for %I in ("C:\Users\xyz.mp4" "C:\Users\V46.srt" "C:\Users\FP.txt") do (start /MIN cmd.exe /C COPY "%~I" NUL)

此外,如果进入.bat脚本,请将变量上的%个字符翻倍。