批次 - “后藤在这个时候意外”
下面是批处理脚本我的工作:批次 - “后藤在这个时候意外”
@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
每当我尝试运行批处理文件并输入没有价值,它的快速提示关闭“goto在当时是意外的”
我的if语句的格式是正确的,还是它一直关闭的原因?
因为如果输入没有定义的脚本是这样的:
if =="" goto ERR1
这是一个语法错误。
尝试这样的:
if "%input1%"=="" goto ERR1
而不是使用if语句,尝试此相反:
IF DEFINED "%input1%" goto ERR1
如果必须使用if语句正常的,你可以试试这个:
IF "%input1%"=="" goto ERR1
只是为了确保。除此之外,我不知道问题出在哪里。
应该是'如果定义input1 goto ERR1' – DodgyCodeException
您'如果定义'是不正确的。它*应该*为'如果没有定义input1 ...'。在发布时,envvar'“”'会被询问(空'input1'),或者如果'input1'包含'fred',则''fred''(包括引号)将被询问。尝试设置带引号的envvar将导致该变量名称的值报告并且不会更改该变量。 (嗯......这个有调查...) – Magoo
可能的重复[为什么我的批处理文件的处理由于字符串与IF命令的比较而出现语法错误?](https://*.com/questions/34690602/why-is-processing-of-my-批处理文件退出与语法错误在字符串比较) – Mofi