再会,
我对批处理文件还是有点陌生,并且来自 C++ 和 java,有些东西是不同的......
我有一个调用子批处理的主批处理,但是当它返回时,它进入了 else 循环,我不知道为什么?
在主批次中,用户选择和选项:
set /p input=Enter:
if %input%==1 goto check
if %input%==2 goto check
if %input%==3 goto check
if %input%==4 goto delete
if %input%==A call %cd%\subbatch.bat %var1% %var2%\
if %input%==B call %cd%\subbatch2.bat %var1% %var2%
if %input%==C call %cd%\subbatch3.bat %var1% %var2%
if {%input%}=={} (
echo.
echo Please enter a valid option
echo.
pause >nul
) else (
echo %input%
echo.
echo Please enter a valid option
echo.
pause >nul
)
它进入子批次,当它返回时进入 else 循环,
我在 else 循环中添加了 echo %input% 以查看选择了什么,
它显示输入是 AB 或 C 取决于我选择的,
但是我希望 else 命令仅在选择了 1-4 或 AC 以外的任何其他选项时才启动,
如果更好地尝试:
if %input% GTR 4 (echo enter valid option)
但如果我这样做,字母呢?
有没有比较字母的方法?如:
if %input% GTR "C" ( ....)