批次。 if/else 语句。如果说用户没有输入,只按 Enter 就想返回

问题描述 投票:0回答:1

:选项

cls

回声。

echo 你想做什么?

回声。

暂停>无

回显 1) 主菜单

回显 2) 控制

回声3)简介

回显4)退出

设置“选择=”

设置/p选择=选择:

暂停>无

if %choice%== 1 转到主菜单

if %choice%== 2 转到控件

if %choice%== 3 转到简介

if %choice%== 4 转到 eof1

如果未定义“%choice%”==“”(

)否则(

)转到选项

请记住,这只是一部分。但我的麻烦在哪里。休息是有效的,我确信有更好的方法来做事,但我只是喜欢批量涉足哈哈

如标题所示,如果用户要使用它(他们不会哈哈)但不输入 1-4 并且仅按 Enter 键,则语句的 else 部分将被忽略,并且进程结束并关闭。当然,如果他们输入 1-4,尽管它按预期工作。

如果出于某种原因或其他原因您需要整个“代码”(笑),我会让您看看,但我认为它根本没有帮助,因为这是唯一导致问题的部分,但我知道什么:D

我尝试过选择命令。此时还有其他事情。老实说,我不记得我现在尝试过什么,哈哈,选择很接近,只是我不喜欢。显然不记得了,但无论如何只是希望弄清楚这一点,因为现在我很沮丧,我无法在“我自己的”上弄清楚它

if-statement batch-file command
1个回答
0
投票

快速简短的答案是

如果“%choice%”==“”调用:选项

只是关于以下选项的问题和建议

:选项 CLS 回声。 echo 你想做什么? 回声。 暂停>无<--------------- why use pause?

当设置 /p 时,效果相同吗?为了获得更好的外观,请尝试使用 TITLE 输出“您想做什么”,这会清理菜单并将问题放在边框标题栏中。

喜欢:

TITLE=“你想做什么?” 也把你的套装放在这里

设置选择=(清除最后的选择)

回显 1) 主菜单

回显 2) 控制

回声3)简介

回显4)退出

设置/p选择=选择:

if %choice% == 1 转到主菜单

如果 %choice% == 2 转到控件

if %choice% == 3 转到介绍

如果%choice%== 4转到eof1

如果未定义“%choice%”( 调用:选项 ) 别的 ( 退出/b )

© www.soinside.com 2019 - 2024. All rights reserved.