robocopy移动文件的数量

时间:2017-02-27 13:30:10

标签: batch-file cmd robocopy

我需要获取使用robocopy移动的文件数量。我尝试了很多方法,但是我需要在core完成整个过程后我在cmd行中看到的数字,并向我显示结果。

  

复制文件 - x

如何获得robocopy的值? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

robocopy [Whatever Options] | findstr "Copied files"

会让您了解最终报告。

您只需要解析实际的数字,您可以使用for循环进行解析。

我会帮助你更多,但 你没有显示任何代码。

当我运行robocopy时,我看到的输出如下:

              Total    Copied   Skipped  Mismatch    FAILED    Extras
   Dirs :         1         0         1         0         0         0
  Files :        12        12         0         0         0         0
  Bytes :   49.91 m   49.91 m         0         0         0         0
  Times :   0:00:00   0:00:00                       0:00:00   0:00:00

这与您看到Copied Files - X

的报告截然不同

我认为这已经接近你想要的了:

setlocal enabledelayedexpansion

for /f "tokens=3 delims=: " %%a in ('robocopy [options] ^| findstr /C:Files ') do (
    set num=%%a )

echo Files That Got Copied: %num%

(经过轻微测试,似乎有效)

答案 1 :(得分:0)

如果要创建日志,则必须使用/log选项。否则,只要您不使用/njs选项,就可以看到复制文件的数量。

for /f "tokens=3 skip=1" %%a in (
 'robocopy /L . " nothing ..//" ^|findstr /rc:":  *[0-9][0-9]* "'
)do echo %%a