批量退出时指定退出码

sta*_*s89 4 batch-file exit-code

当它成功退出时,我需要在我的批处理脚本中指定我自己的退出代码 ifexist 子句。您会注意到,我将其指定为exit 5,我也尝试过exit /b 5但没有任何效果。有什么建议?

@ECHO OFF
CLS

set SOURCE_PARENT=%1
set FOLDER=%2
set TARGET_FILE=%3

net use S: %SOURCE_PARENT% 
net use T: %TARGET_FILE%

if exist T:\%FOLDER% (
  echo Folder exists, process exiting
  net use S: /Delete /y
  net use T: /Delete /y
  exit 5
) else (
  mkdir T:\%FOLDER%
)

xcopy S:\%FOLDER% T:\%FOLDER% /E /I /H

net use S: /Delete /y
net use T: /Delete /y

exit
Run Code Online (Sandbox Code Playgroud)

mih*_*dis 6

如果您有一个包含以下内容的脚本 script.bat:

@echo off
echo Hello from script.
exit /b 5
Run Code Online (Sandbox Code Playgroud)

在命令提示符中或从另一个脚本调用

test.bat
echo %errorlevel%
Run Code Online (Sandbox Code Playgroud)

它应该显示:

C:\Temp>script.bat

你好来自脚本。

C:\Temp>echo %errorlevel%

5