Jon*_*ica 1 powershell robocopy
我正在努力解决如何处理有时在robocopy
. 命令和输出如下。
它返回 2,这意味着“额外的文件”。
总的来说,它似乎是成功的。我应该接受 2 为成功吗?
-------------------------------------------------- ----------------------------- ROBOCOPY :: 适用于 Windows 的强大文件复制 -------------------------------------------------- ----------------------------- 开始时间:2017 年 1 月 24 日星期二晚上 11:53:40 来源:C:\下载\Temp\\ 目标:C:\Inetpub\\ 文件:*.* 选项:*.* /S /E /DCOPY:DA /COPY:DAT /PURGE /MIR /MT:8 /R:1000000 /W:30 -------------------------------------------------- ----------------------------- *额外文件 689351 C:\Inetpub\\admin\dynamicfile2.zip -------------------------------------------------- ----------------------------- 总复制跳过不匹配失败额外 目录:510 510 0 0 0 0 文件:3564 0 3564 0 0 1 字节:606.15 m 0 606.13 m 0 0 673.1 k 时间:0:00:00 0:00:00 0:00:00 0:00:00 结束: 2017 年 1 月 24 日,星期二 11:53:40 PM
如有疑问,请阅读文档(尽管在这种情况下SS64可能是更好的来源):
下表列出并描述了 Robocopy 实用程序使用的返回代码。
0没有文件被复制。没有遇到失败。没有文件不匹配。文件已存在于目标目录中;因此,跳过了复制操作。
1所有文件均已成功复制。
2目标目录中有一些源目录中不存在的附加文件。没有复制任何文件。
3复制了一些文件。存在附加文件。没有遇到失败。
5复制了一些文件。某些文件不匹配。没有遇到失败。
6存在其他文件和不匹配的文件。没有复制文件,也没有遇到任何故障。这意味着文件已经存在于目标目录中。
7文件已复制,存在文件不匹配,并且存在其他文件。
8几个文件没有复制。注意任何大于 8 的值都表示在复制操作期间至少发生了一次故障。
退出代码最多(包括 7)表示非错误操作状态。8 及以上的退出代码表示错误。
就像 Mathias 已经说过的那样,您是否愿意将额外的文件视为错误取决于您。如果您不关心额外或不匹配的文件/文件夹,只需检查大于 7 的退出代码:
& robocopy ...
if ($LastExitCode -gt 7) {
# an error occurred
exit $LastExitCode
}
exit 0
Run Code Online (Sandbox Code Playgroud)
否则检查退出代码是否大于 1:
& robocopy ...
if ($LastExitCode -gt 1) {
# an error occurred
exit $LastExitCode
}
exit 0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6829 次 |
最近记录: |