Batch file EQU在这个时候出人意料?

Batch file EQU在这个时候出人意料?,batch-file,Batch File,嗨,当我试着运行我的批处理代码时,它说EQU此时未被执行。。? 我尝试过%input%==这在某种程度上说明了相同的消息。 顺便说一下,当我启动程序时,它会自动将它带到底部的最后一个部分。我把它移到了那里,想看看这是否能解决我的问题(它曾经在顶部)。你能帮我解决这个问题吗?这不起作用: set /p adminpassword=Password: if errorlevel equ thebulldogtheo goto AdminChatRoom 将其更改为: set /p "adminpa

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

这不起作用:

set /p adminpassword=Password:
if errorlevel equ thebulldogtheo goto AdminChatRoom
将其更改为:

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

顺便说一句:您可以从
选项
命令中获得错误级别,而不是从
设置/p
中获得错误级别,因为您没有发布任何关于140多行代码中出现错误的线索,我们只能猜测

这个错误的正常原因是,从你的文章中(大概是)这行的部分,
%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%”等于“which”

治疗(3) 如果X%输入%equ X无论什么

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

目的是确保比较的两边都不是空的

…顺便说一句

if ERRORLEVEL == 1 goto AdminChat
也不行
ERRORLEVEL
是一个字符串-它永远不会等于
1

if %ERRORLEVEL% == 1 goto AdminChat

errorlevel是字符串而不是值,天哪!浪费了这么多调试时间。你是救命恩人。pastebin源不包含任何具有“%input%=”的代码。