批处理 - “goto此时出乎意料”

时间:2017-10-06 06:27:44

标签: batch-file goto

以下是我正在处理的批处理脚本:

@echo off

:programBEGIN
set FILE=R3D-%input1%.txt
mode con:cols=24 lines=25
color F

set /p input1=}} INPUT: 
cls
if %input1%=="" goto ERR1
goto programLIST

:programLIST
echo Hello

:ERR1
echo Test
pause

每当我尝试运行bat文件并且没有输入任何值时,它会以“goto当时意外发生”的快速提示关闭

我的if语句格式是否正确,还是它继续关闭的原因?

2 个答案:

答案 0 :(得分:3)

因为如果没有定义输入,脚本如下所示:

if =="" goto ERR1

这是语法错误。

试试这样:

if "%input1%"=="" goto ERR1

答案 1 :(得分:-1)

不要使用if语句,而是尝试这样做:

IF DEFINED "%input1%" goto ERR1

如果必须使用普通的if语句,可以试试这个:

IF "%input1%"=="" goto ERR1

只是为了确保。除此之外,我不知道问题会从哪里来。

相关问题