Batch file 批量接收两个字输入不工作

Batch file 批量接收两个字输入不工作,batch-file,Batch File,我几乎没有成批的训练,但我正在尝试做一个像zork这样的游戏。如果你不知道这是什么,这是一个基于文本的游戏,要求玩家输入他们想要的动作。我试图让玩家说一个两个字的命令,但它只是关闭。 这里是它发生的地方: set /p %input%= if %input%==go left goto left2 基本上,我输入go left,屏幕上会闪烁一条消息,表示右=菜单意外或其他。它消失得太快了。是否需要更多的代码?当你在开头输入你的名字时,如果你愿意,它可以有50个单词长。这可能是一个很糟糕

我几乎没有成批的训练,但我正在尝试做一个像zork这样的游戏。如果你不知道这是什么,这是一个基于文本的游戏,要求玩家输入他们想要的动作。我试图让玩家说一个两个字的命令,但它只是关闭。 这里是它发生的地方:

    set /p %input%=
if %input%==go left goto left2

基本上,我输入go left,屏幕上会闪烁一条消息,表示右=菜单意外或其他。它消失得太快了。是否需要更多的代码?当你在开头输入你的名字时,如果你愿意,它可以有50个单词长。这可能是一个很糟糕的问题,但我需要帮助。

您需要从变量名中删除
%
,然后在比较中引用两边:

set /p input=
if "%input%"=="go left" goto left2
测试批处理文件(另存为
input\u Test.bat
):

运行和输出示例:


嗯,是的。是的。在发布之前,我在自己的系统上进行了测试;我只是将
goto
改为
echo
。如果它对你不起作用,你就有别的毛病了。(我已经发布了一个工作测试批处理文件和该测试文件结果的图形。)我解决了这个问题。它调用了我在之前的类中使用的输入。谢谢你的帮助^-^
set /p input=
if "%input%"=="go left" goto left2