14 апр. 2009 г.

EQL есть EQU или очередные чудеса Window$

Вот очень понадобилось написать скрипт под виндой.
По старой традиции использую CMD/BAT.

Нужно мне было проверить простое условие - строка1 равна строке2 или нет.
итак делаем >help IF

Изменение команды IF при включении расширенной обработки команд:

IF [/I] строка1 оператор_сравнения строка2 команда
IF CMDEXTVERSION число команда
IF DEFINED переменная команда

где оператор_сравнения принимает следующие значения:

EQL - равно
NEQ - не равно
LSS - меньше
LEQ - меньше или равно
GTR - больше
GEQ - больше или равно

Отлично! - EQL мне и нужно, обрадовался я и начал писать.

Проверяем равно ли расширение файла
IF /I %%~xF EQL .tmp

И вдруг при выполнении получаю "Непредвиденное появление: EQL."
Был сильно озадачен и долго не мог понять где ошибка...
Погуглил и нашел на форуме что писать нужно не EQL, EQU!!! - и обнаружено это было только путем подбора!!!

Такие казусы окончательно отбивают охоту работать с чем-либо от M$.

2 комментария:

ffsdmad комментирует...

Бррр
Когда приходить батить начинаю чувствовать себя святым мучеником

Unknown комментирует...

Да, есть что-то в виндовом cmd от люцефера... надо же было такой синтаксис выдумать! порой кажется что у них там лидами принимают с начальной школы, такое же даже студент первокурсник по пьяни не выдумает!