Robocopy - 创建一个只有成功文件传输的日志文件

时间:2017-03-10 13:48:36

标签: logging robocopy

我正在努力完成两件事,我不确定最好的方法。

  1. 将新的或修改过的文件从Windows源复制到另一台Windows服务器并记录事务(使用Robocopy完成和记录),例如:

    ROBOCOPY / XO / XX / Z / V / BYTES /LOG:\ServerB\Log.txt \ ServerA \ source \ ServerB \ target * .txt / A-:A

  2. 为上面复制的文件名创建一个简单的列表(另一个进程的控制文件)到一个没有任何其他细节的新文件,例如:


  3. file1.txt
    file2.txt
    file3.txt
    



    我考虑过两次运行Robocopy语句,一次使用/ L并将其写入日志然后运行不带/ L的相同语句并将其写入日志以获得我需要的但我无法找到生成方法一个简单的日志文件,只有成功的文件名(如上例所示)

1 个答案:

答案 0 :(得分:1)

我不太清楚您是否只想在日志中复制文件,甚至是非复制的相同文件。 您可以省略/ Verbose选项,然后您不需要隐藏任何数量的状态。 您是否需要此日志来创建其他进程的列表,或者它是否用于文档?

如果LOG用于文档,那么你可以在没有选项/ L的情况下敲响所有内容。

setlocal
for /f "delims= " %%t in ('robocopy . . /njh /njs')do set "tab=%%t"
3>controlfile (
  for /f "tokens=3 delims=%tab%" %%i in ('robocopy /xx /xo /Z /bytes \\ServerA\source \\ServerB\target *.txt /tee /LOG:\\ServerB\Log.txt
  ') do >&3 echo %%i
)