我需要获取使用robocopy移动的文件数量。我尝试了很多方法,但是我需要在core
完成整个过程后我在cmd行中看到的数字,并向我显示结果。
复制文件 - x
如何获得robocopy
的值?
提前谢谢。
答案 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