Using robocopy with Visual Studio 2010 Post-build and Pre-build events

前端 未结 7 2052
忘了有多久
忘了有多久 2021-02-05 01:59

Robocopy outputs 1 upon success, unlike most programs that exit with 0 on success. Visual Studio (and MSBUILD) interprets exit code of 1 as an error.

How can Robocopy b

7条回答
  •  感情败类
    2021-02-05 02:40

    Adding this answer per request. Based on Asaf's solution, and adding skrebbel's comment.

    You can simplify the check to:

    robocopy   
    if %errorlevel% leq 1 exit 0 else exit %errorlevel%
    

    As kindly remarked in the comments, you may want to adjust the '1': It depends on what your operation should treat as an error. Have a look at the meaning of the bits that in combination make up the number returned by robocopy:

    0×10 Serious error. Robocopy did not copy any files. This is either a usage error or an error due to insufficient access privileges on the source or destination directories.

    0×08 Some files or directories could not be copied (copy errors occurred and the retry limit was exceeded). Check these errors further.

    0×04 Some Mismatched files or directories were detected. Examine the output log. Housekeeping is probably necessary.

    0×02 Some Extra files or directories were detected. Examine the output log. Some housekeeping may be needed.

    0×01 One or more files were copied successfully (that is, new files have arrived).

    0×00 No errors occurred, and no copying was done. The source and destination directory trees are completely synchronized.

提交回复
热议问题