批次不等式(不等式)运算符
据此, !==! 是不相等的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上适用于我(我发现和你发布的代码一样的错误)。