xcopy已成功完成,但触发了错误

时间:2016-10-27 15:45:31

标签: batch-file xcopy

我有一个批处理脚本,使用xcopy命令将文件从一个磁盘复制到另一个磁盘,我将其结果/进程记录到日志文件中。

当它记录失败时,我正在使用双管道('||'),这样如果命令返回除错误代码0之外的任何内容,它将触发我的错误处理。

我的问题是我记录了xcopy成功运行并复制了我要求的所有文件。我验证了复制的文件是好的。但由于某种原因,它似乎没有返回0并触发我的错误处理。我已经复制并粘贴了同样的脚本,用于其他可以正常工作的备份,但是这个脚本在成功时出错了,为什么?

mkdir %Disk%\"Report Archives" || goto FAILURE
xcopy "C:\NetworkBackups\Report Archives" %Disk%\"Report Archives" /E /H /C /I /R /Y >> %LogFile% || goto FAILURE

for /f "tokens=1" %%u in ('echo %time%') do set t=%%u
if "%t:~1,1%"==":" set t=0%t%
set MilitaryTime=%t:~0,2%:%t:~3,2%:%t:~6,2%
echo %date:~10,4%/%date:~4,2%/%date:~7,2% %MilitaryTime%:  Done Copying "C:\NetworkBackups\Report Archives" to Monthly Backup disk: %Disk% >> %LogFile%

:FAILURE
echo %date:~10,4%/%date:~4,2%/%date:~7,2% %MilitaryTime%:  THIS BACKUP UP SCRIPT HAS ENCOUNTERED AN ERROR WITH THE PREVIOUS COMMAND. >> %LogFile%

以下是生成的日志文件的结尾:

C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=91.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=92.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=93.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=94.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=95.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=96.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=97.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=98.html
C:\NetworkBackups\Report Archives\[redacted]\2011\2011.12.31 23.45\reports.asp@ReportID=99.html
388548 File(s) copied
2016/10/27 03:06:06:  THIS BACKUP UP SCRIPT HAS ENCOUNTERED AN ERROR WITH THE PREVIOUS COMMAND. 

我不确定为什么FAILURE标签被触发而不是记录“Done copy blah blah blah blah”。另请注意,此脚本只有在被告知GOTO时才会运行FAILURE标签。虽然没有在我的脚本中列出,但是当事情进展顺利时,FAILURE会被忽略。

0 个答案:

没有答案