Batch file I';我批量制作了一个关机计时器,但在使其对用户友好时出错

Batch file I';我批量制作了一个关机计时器,但在使其对用户友好时出错,batch-file,Batch File,当我没有为第一个选项输入任何内容时(用户可能会意外),程序崩溃并显示错误消息: 后藤在这个时候出人意料 是否有一种方法可以在未输入任何内容时启动用户,或者对此问题进行其他修复?例如,如果%hour%==“nothing”转到开始 在此图像中,您可以看到echo打开时的错误。有人能帮我解决这个问题吗 哦,老兄,你离得太近了 为防止用户未输入任何内容时出错,只需在要比较的两个内容周围加上引号即可 if "%hour%" == "1h" goto onehour if "%hour%" == "2h"

当我没有为第一个选项输入任何内容时(用户可能会意外),程序崩溃并显示错误消息:

后藤在这个时候出人意料

是否有一种方法可以在未输入任何内容时启动用户,或者对此问题进行其他修复?例如,
如果%hour%==“nothing”转到开始

在此图像中,您可以看到echo打开时的错误。有人能帮我解决这个问题吗

哦,老兄,你离得太近了

为防止用户未输入任何内容时出错,只需在要比较的两个内容周围加上引号即可

if "%hour%" == "1h" goto onehour
if "%hour%" == "2h" goto twohour
if "%hour%" == "3h" goto threehour
if "%hour%" == "4h" goto fourhour
if "%hour%" == "5h" goto fivehour
if "%hour%" == "6h" goto sixhour
if "%hour%" == "7h" goto sevenhour
if "%hour%" == "8h" goto eighthour
if "%hour%" == "9h" goto ninehour
if "%hour%" == "10h" goto tenhour
这样,当用户不输入任何内容时,
if
语句的两边仍然会有一些内容,以防止出现语法错误

if "" == "1h" goto onehour
if "" == "1h" goto onehour