# 2.5.13.26. Robocopy

class buildbot.steps.mswin.Robocopy

This step runs `robocopy` on Windows.

Robocopy is available in versions of Windows starting with Windows Vista and Windows Server 2008. For previous versions of Windows, it’s available as part of the Windows Server 2003 Resource Kit Tools.

    from buildbot.plugins import steps, util

    f.addStep(
        steps.Robocopy(
            name='deploy_binaries',
            description='Deploying binaries...',
            descriptionDone='Deployed binaries.',
            source=util.Interpolate('Build\\Bin\\%(prop:configuration)s'),
            destination=util.Interpolate('%(prop:deploy_dir)\\Bin\\%(prop:configuration)s'),
            mirror=True
        )
    )

Available constructor arguments are:

`source`

  The path to the source directory (mandatory).

`destination`

  The path to the destination directory (mandatory).

`files`

  An array of file names or patterns to copy.

`recursive`

  Copy files and directories recursively (`/E` parameter).

`mirror`

  Mirror the source directory in the destination directory, including removing files that don’t exist anymore (`/MIR` parameter).

`move`

  Delete the source directory after the copy is complete (`/MOVE` parameter).

`exclude_files`

  An array of file names or patterns to exclude from the copy (`/XF` parameter).

`exclude_dirs`

  An array of directory names or patterns to exclude from the copy (`/XD` parameter).

`custom_opts`

  An array of custom parameters to pass directly to the `robocopy` command.

`verbose`

  Whether to output verbose information (`/V /TS /FP` parameters).

Note that parameters `/TEE /NP` will always be appended to the command to signify, respectively, to output logging to the console, use Unicode logging, and not print any percentage progress information for each file.