![]() |
Проверка наличия параметров
Есть командный файл. Если файл запускается с параметром debug - то нужно выполнить дополнительную операцию, если параметра нет - операция пропускается
Код:
IF %1 NEQ debug echo Debug Подскажите как написать правильно? Спасибо |
Код:
IF "%1"=="debug" echo Debug |
Код:
@echo off |
Могу предложить другой вариант (немного лаконичней чем у Mad Max'a и примерно с таким же интервалом по времени :) ):
Код:
if [%~1]==[debug] (echo Debug) причиной использования квадратных скобок была ошибка в одном из тестов - интерпретатор съедал кавычки, если значение %1 не передавалось либо было пустым и далее выходила ошибка синтаксиса. Единственным верным вариантом является ответ gora с поправкой на то, что тильда все таки должна присутствовать (так как при ее отсутствии в bat-файл параметр передается уже обрамленный кавычками): Код:
if "%~1"=="debug" (echo Debug) Код:
if "[%~1]"=="[debug]" (echo Debug) |
Цитата:
небольшие изменения входа и все летит в ... Код:
@echo off Код:
if "%~1"=="debug" echo Debug |
Как-то можно обозначить вместо конкретного аргумента "любой"?
Т.е. был передан параметр - команда, без параметров - команда 2. "*" как любое количество символов в сравнении не работает. (вобще плохо понимаю когда она работает). Проверил neq - работает вроде. Гуглится эта тема, потому напишу для таких же "одарённых" как я: Код:
if "%~1" neq "" (echo %~1 |
Так виднее
Код:
@echo off |
Время: 03:35. |
Время: 03:35.
© OSzone.net 2001-