【发布时间】:2013-05-24 06:03:43
【问题描述】:
我正在从 vbscript 调用批处理脚本。
在批处理脚本中,根据条件我想返回自定义退出代码。
@echo off
setlocal ENABLEDELAYEDEXPANSION`
for /f "usebackq" %%i in (`"%1"\fciv.exe" -md5 %2"`) do set md5_1=%%i
for /f "usebackq" %%i in (`"%1"\fciv.exe" -md5 %3"`) do set md5_2=%%i
if "!md5_1!" == "!md5_2!" (
set md5_1=
set md5_2=
exit 0
) else (
set md5_1=
set md5_2=
exit 1
)
endlocal
对于这两种情况,我的值都为 0。
谁能帮帮我?
【问题讨论】:
-
它对我来说很好用。发布您的脚本。
-
@echo off setlocal ENABLEDELAYEDEXPANSION for /f "usebackq" %%i in (
"%1"\fciv.exe" -md5 %2") do set md5_1=%%i for /f "usebackq" %%i in ("%1"\fciv.exe" -md5 %3")如果 "!md5_1!" 则设置 md5_2=%%i == “!md5_2!” ( set md5_1= set md5_2= exit 0 ) else ( set md5_1= set md5_2= exit 1 ) endlocal 代码实际上是为两个文件生成校验和,如果相同则返回0,如果不同则返回1 -
您可以编辑您的问题以添加代码。另外,您需要使用
exit /b <error code> -
即使在错误条件下,我也将退出代码设为 0。如何获取退出代码 1?
-
我无法重现您的错误。对不起。
标签: batch-file exit-code