批次不等式(不等式)运算符

据此, !==! 是不相等的string运算符。 尝试一下,我得到:

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

我究竟做错了什么?

尝试

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

改用NEQ。

 if "asdf" NEQ "fdas" echo asdf 

我知道这已经过时了,但对于那些迟到的人来说,这仍然是有用的。 (编辑:更新,因为这仍然得到stream量和@Goozak在评论中指出,我原来的样本分析也是错误的。)

我从你的链接中的示例代码中得到这个:

 IF !%1==! GOTO VIEWDATA REM IF NO COMMAND-LINE ARG... FIND "%1" C:\BOZO\BOOKLIST.TXT GOTO EXIT0 REM PRINT LINE WITH STRING MATCH, THEN EXIT. :VIEWDATA TYPE C:\BOZO\BOOKLIST.TXT | MORE REM SHOW ENTIRE FILE, 1 PAGE AT A TIME. :EXIT0 

!%1==! 只是一个惯用的==旨在validation左边的东西,包含你的variables,不同于右边的东西,那不是。 那! 在这种情况下只是一个字符占位符。 这可能是任何事情。 如果%1有内容,那么平等将是错误的,如果不是,你只是比较!! 这将是真实的。

!==! 不是操作员,所以写"asdf" !==! "fdas" "asdf" !==! "fdas"是非常荒谬的。

build议使用, if not "asdf" == "fdas"肯定是要走的路。

尝试:

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

这在Windows XP上适用于我(我发现和你发布的代码一样的错误)。