我找不到任何关于如何在批处理中使用错误级别的东西,而且我非常困惑。我试过以变量的形式使用它,但它不起作用。任何有用的东西!
@ECHO off
set charisma="1"
set intelligence="1"
set strength="1"
set speed="1"
set agility="1"
echo Skill Levels
echo charisma %charisma%
echo intelligence %intelligence%
echo strength %strength%
echo speed %speed%
echo agility %agility%
set /p lvlup="Lvl up a skill? (Y/N)"
if %errorlevel% == 1 echo test发布于 2022-10-18 17:21:49
手动设置errorlevel的值是非常不推荐的,因此在这种情况下,它并不完全是一个变量。若要在退出批处理文件时设置错误级别,请使用例如exit /b 5 (或将退出整个cmd会话的exit 5 )。如果您手动设置它,它将覆盖'real‘值,这可能会导致一些错误。
若要检查错误级别的值,可以使用:
if %errorlevel% == 5 (
echo some command
)或
if errorlevel 5 (
echo some command
)虽然在第二种情况下,如果错误级别的值大于5,它也会进入if条件。第二种方法的好处是,当%errorlevel%变量被覆盖时,它也会工作。
命令提示符还设置变量%=ExitCode%,它将存储转换为十六进制的错误级别。而且它更难被覆盖,因为它开始于=。此外,如果错误级别大于32,%=ExitCodeAscii%维奇将将错误级别存储为asci字符。
https://stackoverflow.com/questions/74113447
复制相似问题