关于我正在处理的批处理脚本,我有两个问题。我意识到批处理脚本问题很常见,但还没有找到我确切问题的答案,所以我想我会尝试询问。有问题的区域是菜单上的用户输入部分。
有两个问题: 1) 输入的不是指定选项之一的输入会导致脚本跳转到随机区域。并且 2)即使我知道语法和标志使用通常是正确的,某些使用外部程序的部分也不会占用用户 %input% (例如,我可以手动运行它们......所以由于某种原因输入不是t 捕捉它们)。
第一个问题示例:
:MenuOne
echo Select one of the following options:
echo 1) x
echo 2) y
echo Q) Quit
set INPUT=
set /P INPUT=[1,2,Q]: %=%
If "%INPUT%"=="1" goto xoption
If "%INPUT%"=="2" goto yoption
If /I "%INPUT%"=="Q" goto Quit
:xoption
@REM Here goes a lot more submenus and/or options that actually run tools via cmd.
:yoption
@REM Again, menus and/or tools being invoked, in a listed menu, designed like above.
:Quit
echo Quitting...
exit
如果用户在选择提示符下键入“b”,我希望脚本给出错误并重复菜单。相反,它会在其他菜单周围晃动。我猜我需要一些 ELSE 语句?有没有人可以用一个例子来完成这个?
某些命令的第二个问题没有正确使用 %input% 并返回错误,就好像它从未收到 %input% 一样。
set /P INPUT=[Testone Input]: %testone%
set /P INPUT=[Testtwo Input]: %testtwo%
commandtorun.exe -f %testone% -h %testtwo%
谢谢!