Opérateur de lot non égal (inégalité)

Selon cela !==! est l’opérateur de chaîne non égal. En essayant, je reçois:

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

Qu’est-ce que je fais mal?

Related of "Opérateur de lot non égal (inégalité)"

Essayer

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

Utilisez plutôt NEQ.

 if "asdf" NEQ "fdas" echo asdf 

Je sais que ce n’est pas à jour, mais cela pourrait être utile pour ceux qui arriveraient en retard à la fête. (EDIT: mis à jour car cela génère encore du trafic et @Goozak a indiqué dans les commentaires que mon parsing initiale de l’échantillon était également incorrecte.)

J’ai extrait ceci de l’exemple de code de votre lien:

 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==! est simplement une utilisation idiomatique de == destinée à vérifier que la chose à gauche, qui contient votre variable, est différente de la chose à droite, ce qui n’est pas le cas. Le ! dans ce cas, il ne s’agit que d’un espace réservé pour les caractères. Cela pourrait être n’importe quoi. Si %1 a du contenu, alors l’égalité sera fausse, si ce n’est pas le cas, vous serez juste en train de comparer ! à ! et ce sera vrai.

!==! n’est pas un opérateur, alors écrivez "asdf" !==! "fdas" "asdf" !==! "fdas" est absurde.

La suggestion d’utiliser if not "asdf" == "fdas" est certainement la voie à suivre.

Essayer:

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

Cela fonctionne pour moi sur Windows XP (j’obtiens la même erreur que vous pour le code que vous avez posté).