EQU此时出人意料?

时间:2013-03-21 00:04:17

标签: batch-file

http://pastebin.com/qDZ0Eckq

嗨,当我尝试运行我的批次代码时,它说EQU在此时未被尊重..? 我尝试了%input%==并且在某种程度上说了相同的消息。 当我顺便启动程序时,它会自动将它带到底部的最后一部分。我把它移到那里试图看看是否能解决我的问题(它曾经在顶部)。你能帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

由于您没有发现任何关于您收到错误的140 +行代码行的线索,我们可以减少猜测。

这个错误的正常原因是,从(大概)相关行的{strong> PART 帖子%input% ==开始,原因很简单。变量input没有值,因此该行变为

IF EQU [well, I don't know the rest since you haven't indicated what it might be]

治愈(1)     如果没有定义输入转到某处     如果%input%equ ...

治愈(2)     如果“%input%”等于“无论什么”...

治愈(3)     如果X%输入%equ Xwhatever ...

(其中X实际上可以是任何字符,或者可以作为后缀而不是前缀附加)

该对象是为了确保比较的两边都是非空的

...顺便说一句,

if ERRORLEVEL == 1 goto AdminChat

也不起作用。 ERRORLEVEL是一个字符串 - 它永远不会等于1

if %ERRORLEVEL% == 1 goto AdminChat

答案 1 :(得分:0)

这不起作用:

set /p adminpassword=Password:
if errorlevel equ thebulldogtheo goto AdminChatRoom

将其更改为:

set /p "adminpassword=Password: "
if "%adminpassword%" equ "thebulldogtheo" goto :AdminChatRoom

BTW:你从choice命令得到错误级别,而不是set /p