gpt4 book ai didi

Windows 批处理文件都包含错误级别

转载 作者:可可西里 更新时间:2023-11-01 10:08:12 27 4
gpt4 key购买 nike

我有一个批处理文件,它只执行大量复制和 xcopy 命令,如果其中任何一个失败,我需要跳出复制到 goto 标签,但是每次都必须检查错误级别会非常不方便单个副本。

我怀疑这可能是不可能的,但有没有一种方法可以做大量的复制/xcopy 并在最后检查错误级别是否超过零?

最佳答案

您可以定义一个变量来充当简单的“宏”。省去了很多打字,而且看起来也不错。

@echo off
setlocal
set "copy=if errorlevel 1 (goto :error) else copy"
set "xcopy=if errorlevel 1 (goto :error) else xcopy"

%copy% "somepath\file1" "location"
%copy% "somepath\file2" "location"
%xcopy% /s "sourcePath\*" "location2"
rem etc.
exit /b

:error
rem Handle your error

编辑

这是一个更通用的宏版本,应该适用于任何命令。请注意,宏解决方案比使用 CALL 快得多。

@echo off
setlocal
set "ifNoErr=if errorlevel 1 (goto :error) else "

%ifNoErr% copy "somepath\file1" "location"
%ifNoErr% copy "somepath\file2" "location"
%ifNoErr% xcopy /s "sourcePath\*" "location2"
rem etc.
exit /b

:error
rem Handle your error

关于Windows 批处理文件都包含错误级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9279068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com