据此,!==!是不等于字符串操作符。 试了一下,我明白了:

C:\> if "asdf" !==! "fdas" echo asdf
!==! was unexpected at this time.

我做错了什么?


当前回答

Try:

if not "asdf" == "fdas" echo asdf

这适用于我的Windows XP(我得到相同的错误,你张贴的代码)。

其他回答

Try

if NOT "asdf" == "fdas" echo asdf

NEQ通常用于数字,==通常用于字符串比较。

我找不到任何文档提到一个特定的和等效的不等式操作数字符串比较(在NEQ的地方)。使用IF NOT ==的解决方案似乎是最合理的方法。我无法立即想到在对字符串应用IF NOT ==比较方法时,批处理文件中操作的求值会导致问题或意外行为的情况。

我希望我能提供洞察两个函数如何在较低的水平上表现不同-将分解单独的批处理文件(使用NEQ和IF NOT ==)提供任何线索(非正式文档)本地API调用conhost.exe正在使用?

Try:

if not "asdf" == "fdas" echo asdf

这适用于我的Windows XP(我得到相同的错误,你张贴的代码)。

用NEQ代替。

if "asdf" NEQ "fdas" echo asdf

我发现最简单的方法是:

IF %ERRORLEVEL% NEQ 0 Echo An error was found

or

IF %ERRORLEVEL% GRT 0 goto error1

运算符!==!没有正确的值,这意味着它只用于知道变量是否被设置。

IF !%1==! GOTO main