我正在努力解决如何处理有时会返回 2 的部署脚本robocopy
。命令和输出如下。
它返回 2,这意味着“额外文件”。
总体而言,这似乎是成功的。我应该接受 2 作为成功吗?
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Tuesday, January 24, 2017 11:53:40 PM
Source : C:\Download\Temp\\
Dest : C:\Inetpub\\
Files : *.*
Options : *.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /MT:8 /R:1000000 /W:30
------------------------------------------------------------------------------
*EXTRA File 689351 C:\Inetpub\\admin\dynamicfile2.zip
------------------------------------------------------------------------------
Total Copied Skipped Mismatch FAILED Extras
Dirs : 510 510 0 0 0 0
Files : 3564 0 3564 0 0 1
Bytes : 606.15 m 0 606.13 m 0 0 673.1 k
Times : 0:00:00 0:00:00 0:00:00 0:00:00
Ended : Tuesday, January 24, 2017 11:53:40 PM
如有疑问,请阅读文档 https://support.microsoft.com/en-us/help/954404(虽然在这种情况下SS64 http://ss64.com/nt/robocopy-exit.html可能是更好的来源):
下表列出并描述了 Robocopy 实用程序使用的返回代码。
0没有复制任何文件。没有遇到失败。没有文件不匹配。文件已存在于目标目录中;因此,复制操作被跳过。
1所有文件均已成功复制。
2目标目录中存在一些源目录中不存在的其他文件。没有复制任何文件。
3一些文件被复制。存在其他文件。没有遇到失败。
5一些文件被复制。有些文件不匹配。没有遇到失败。
6存在其他文件和不匹配的文件。没有复制任何文件,也没有遇到任何故障。这意味着这些文件已存在于目标目录中。
7文件已复制,存在文件不匹配,并且存在其他文件。
8有几个文件没有复制。
Note任何大于 8 的值都表示复制操作期间至少发生一次失败。
退出代码最多(含 7)表示无错误操作状态。退出代码 8 及以上表示错误。
就像马蒂亚斯已经说过的那样,您是否愿意将额外的文件视为错误取决于您。如果您不关心额外的或不匹配的文件/文件夹,只需检查退出代码是否大于 7:
& robocopy ...
if ($LastExitCode -gt 7) {
# an error occurred
exit $LastExitCode
}
exit 0
否则检查退出代码是否大于 1:
& robocopy ...
if ($LastExitCode -gt 1) {
# an error occurred
exit $LastExitCode
}
exit 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)