你好,我是一名程序员,正在制作一个使用批处理的小"工具",我遇到了一个问题。。当你输入一个输入时,无论我(或用户(做什么,它都会转到第一个选项
echo 1) File Explorer
echo.
echo 2) Terminal
echo.
echo 3) Tools
echo.
echo 4) About
echo.
echo 5) Exit
::This is the Main Menu Input Stuff:::::::::::::::;::::
set /P Input = ">"
if /I %Input% EQU "1" goto :FileExplorer
if /I %Input% EQU "2" goto :Terminal
if /I %Input% EQU "3" goto :Tools
if /I %Input% EQU "4" goto :About
if /I %Input% EQU "5" goto :ExitQ
所以我不确定我做错了什么,所以任何帮助都是好的。谢谢还有一些事情,我检查了拼写错误,并用else语句重写了它,但这只是使它崩溃/退出。
if /I %Input% EQU "1" goto :FileExplorer
您需要包括引号,因为比较是文字(不需要冒号(
if /I "%Input%" EQU "1" goto FileExplorer
批处理只是一行接一行地收费,直到它被告知某个地方的goto
或到达文件末尾,因此,如果none测试通过goto
导致分支,则将执行... equ "5"
之后的下一条语句。我保证以下命令是您的第一个选择,:fileexplorer
正如aschipfl所指出的,set
中input
之后的空间是显著的,应该删除。这是我的标准简介:
Batch对SET
语句中的空格敏感。SET FLAG = N
将名为"FLAGSpace"的变量设置为值">SpaceN">