Batch file 批处理文件命令,用于提供条件不同的响应

Batch file 批处理文件命令,用于提供条件不同的响应,batch-file,Batch File,我最近开始做一个批量文件游戏,但我被卡住了。我为球员做了很多选择,我希望他们根据自己的选择选择不同的结局。下面是我所做的一个例子: 首先,给你3个句子,你必须选择一个: :casual cls echo Hi echo 1- I found your contact from your blog. echo 2- It's %name%'s mail address, am I correct ? ._. echo 3- I'm %name2%, I would like to meet yo

我最近开始做一个批量文件游戏,但我被卡住了。我为球员做了很多选择,我希望他们根据自己的选择选择不同的结局。下面是我所做的一个例子:

首先,给你3个句子,你必须选择一个:

:casual
cls
echo Hi
echo 1- I found your contact from your blog. 
echo 2- It's %name%'s mail address, am I correct ? ._.
echo 3- I'm %name2%, I would like to meet you.
echo.
echo And now?
set /p answer=
if %answer%==1 goto m1
if %answer%==2 goto m2
if %answer%==3 goto m3
然后你选择一个,然后继续另一个,最后你在:

:mm1
cls
echo I found your contact from your blog. How is it going? How do you spend your days in quarantine?
echo Send? Y/N
set /p a=
if %a%==n goto ff
if %a%==y goto firstmail
但是有很多不同的组合,我不想让每个人都得到相同的答案。我不会直接为每个人修改故事,但有一段时间我会把所有的故事都发送到同一个页面

过了一段时间,故事继续,会有一封来自另一个人的邮件,在这一点上,我希望玩家继续从他们离开的地方,显示他们选择的前一个选项

我尝试为第一个选项提供
%a%
,然后是
%b%%c%
,当您最终达到每个人都应该改变的程度时。我试过这样的方法:

    :mail2
 cls
 echo.
 echo You have a mail from strandedseagul@mail.de 
 pause 
 if %a%==y goto t1
 if %b%==y goto t2
等等


但当然,这不起作用,因为它们是不同的。我怎样才能让它工作呢?

我只需要在没有
/p
的情况下设置最终答案;我不知道它代表什么,所以我总是用它。

很好。你回答了自己的问题,这很好。但是问题中的代码可能会短一点(最简单的例子)。在这种情况下,我并不抱怨问题的大小,但在询问社区之前创建一个最小的示例来重现问题,这通常有助于在提问之前找到答案:-)
set“var=value”
set一个变量<代码>设置/p“var=string”要求用户输入,提示为string`。书签作为参考。
Choice/C 123/M”和now“
将提示
和now[1,2,3]?
,并且只允许输入
1
2
3
Choice/M“Send”
将提示
Send[Y,N]?
并且只允许不区分大小写(也可以使用
/CS
选项区分大小写),输入
Y
N
。最终用户响应将作为可用错误级别返回,第一项返回的错误级别为
1
,下一项返回的错误级别为
2
等。。请打开命令提示窗口,键入
choice/?
,按“回车”键并读取其使用信息。这将大大改进您的代码。很高兴看到您自己找到了答案!不过,我绝对建议您在使用命令之前查看它的功能;-)谢谢你的批改)是的,我有点匆忙,但犯了这个错误鼓励我先学习基础知识。