我有一个批处理文件,它只执行复制和xcopy命令的加载,如果它们中的任何一个失败,我都需要跳出复制到goto标签的位置,但是在每次复制后都必须检查错误级别是非常不便的。
我怀疑这不可能,但是有没有办法我可以做大量的复制/xcopy操作并在最后检查错误级别是否超过零?
最佳答案
您可以将操作包装在子例程中;
@echo off
setlocal enabledelayedexpansion
set waserror=0
call:copyIt "copy", "c:\xxx\aaa.fff", "c:\zzz\"
call:copyIt "xcopy /y", "c:\xxx\aaa.fff", "c:\zzz\"
call:copyIt "copy", "c:\xxx\aaa.fff", "c:\zzz\"
call:copyIt "copy", "c:\xxx\aaa.fff", "c:\zzz\"
goto:eof
:copyIt
if %waserror%==1 goto:eof
%~1 "%~2" "%~3"
if !ERRORLEVEL! neq 0 goto:failed
goto:eof
:failed
@echo.failed so aborting
set waserror=1
关于windows - Windows批处理文件均包含错误级别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9279068/