得到了下面的一段代码,但遇到了问题。
我有 3 个 .bat 文件,我想根据用户输入 1、2 还是 3 来打开它们,问题是它总是打开选项 1。非常感谢任何帮助
@echo off
:start
Color 8A
echo.
echo.
echo.
echo ----------------------------------------------------------
echo options:
echo (1) Create 4 Batch Files in 5mb,10mb,15mb,20mb of any type
echo (2) Create 1 file of a specific size and type
echo (3) Auto Generate a Password
echo -----------------------------------------------------------
set /p __options= Select an option:
if '%_options%'=='1' goto opt1
if '%_options%'=='2' goto opt2
if '%_options%'=='3' goto opt3
ECHO.
:opt1
call "Create 4 File Sizes.bat"
goto end
:opt2
call "Sparse File Creation.bat"
goto end
:opt3
call "Password Generator.bat"
goto end
:end
pause
exit
答案1
删除其中一个下划线:
set /p __options= Select an option:
更改为:
set /p _options= Select an option:
答案2
您的变量是,__options
但您的测试是针对的_options
。
此外,您可能需要处理输入不是 1、2 也不是 3 的情况:任何其他条目都将落到“opt1”,这实际上就是您描述中发生的情况,因为未设置正在测试的变量。