0

我有一个 .bat 是一个简单的菜单,它根据输入调用其他命令。如果输入不是已经定义的变量,是否可以将其设置为启动命令提示符,将变量传递给命令提示符,然后返回原始 .bat 的主菜单?

示例:如果我输入 1 或 2,它会执行 1 或 2 应该执行的操作并返回到主菜单的顶部。如果我键入任何其他命令,例如“ping 127.0.0.1”,它将使命令和参数成为变量,打开一个新的 .cmd,将命令和参数传递给命令提示符,原始脚本返回到主脚本的顶部菜单。

:start
echo 1) option 1
echo 2) option 2
set /p a=insert option: 
IF %errorlevel%==1 goto start
IF %a%==1 goto command1
if %a%==2 goto command2
if %a%== Any other variable start .cmd with custom variable && goto start

:command1
blah blah
goto start
:command2
blah blah
goto start
4

1 回答 1

1

如果我正确理解您的问题,这应该可以满足您的要求。

:start
echo 1) option 1
echo 2) option 2
set /p "a=insert option:" 
IF NOT DEFINED a goto start
IF "%a%"=="1" goto command1
IF "%a%"=="2" goto command2

cmd /c %a%
goto start

:command1
blah blah
goto start
:command2
blah blah
goto start
于 2013-08-31T01:20:19.893 回答