Smitis
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Как всегда, решить задачу можно разными способами. Например, используя FIND.EXE можно установить значение 0: Код: @echo off echo bbbbbb | find "bbbbbb" > nul echo [%errorlevel%] | или 1: Код: @echo off echo aaaaaa | find "bbbbbb" > nul echo [%errorlevel%] | Более универсальный способ, это использовать CHOICE.EXE Код: @echo off echo 5 | choice /c 123456789 > nul echo [%errorlevel%] | Варируя длину строки параметра /c и значение в echo, можно возвращать различные значения. Честно говоря, не помню, входит ли choice в стандартную поставку виндов (и в каких именно, кроме 98-х) или в resource kit. И, наконец, скрипт CMD+KIX для тех же самых целей. Использование: call $SetErrorLevel [код] Если "код" не указан, или не является числом, возвращается 0. Отрицательные числа в команде kixtart-a exit не допустимы, поэтому используется функция abs(). Сам файл $SetErrorLevel.cmd: Код: ;@kix32 "%~f0" "$e=%~1" ;@goto:eof exit abs($e) | Скрипт получился до безобразия прост, в три строки. При желании, можно запихнуть даже в две Как всегда, скрипт только для NT,XP,etc. | Всего записей: 3216 | Зарегистр. 09-02-2003 | Отправлено: 02:12 14-07-2005 | Исправлено: Smitis, 02:14 14-07-2005 |
|