|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверка наличия параметров |
|
CMD/BAT - [решено] Проверка наличия параметров
|
Пользователь Сообщения: 60 |
Профиль | Отправить PM | Цитировать Есть командный файл. Если файл запускается с параметром debug - то нужно выполнить дополнительную операцию, если параметра нет - операция пропускается
если запускаю файл с параметром то все работает, но если запускаю без параметра то %1 оказывается пустой строкой и скрипт вылетает с ошибкой "Непредвиденной появление debug" Подскажите как написать правильно? Спасибо |
|
Отправлено: 11:35, 30-09-2011 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:37, 30-09-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 64
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:35, 05-02-2015 | #3 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Могу предложить другой вариант (немного лаконичней чем у Mad Max'a и примерно с таким же интервалом по времени ):
UPDATE: причиной использования квадратных скобок была ошибка в одном из тестов - интерпретатор съедал кавычки, если значение %1 не передавалось либо было пустым и далее выходила ошибка синтаксиса. Единственным верным вариантом является ответ gora с поправкой на то, что тильда все таки должна присутствовать (так как при ее отсутствии в bat-файл параметр передается уже обрамленный кавычками): В случае, если ошибка синтаксиса все же будет возникать то можно использовать любой вариант экранирования значений: но кавычки в любом случае должны присутствовать. |
------- Последний раз редактировалось Schrodingers Kater, 23-07-2017 в 17:18. Причина: добавлено пояснение с отсылкой на собственную ошибку Отправлено: 03:38, 12-01-2017 | #4 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Schrodinger Kater:
небольшие изменения входа и все летит в ... @echo off call :# debug 1 ::call :# "debug 1" pause :# if [%~1]==[debug 1] (echo Debug 1) exit /b |
||
Отправлено: 13:49, 12-01-2017 | #5 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Как-то можно обозначить вместо конкретного аргумента "любой"?
Т.е. был передан параметр - команда, без параметров - команда 2. "*" как любое количество символов в сравнении не работает. (вобще плохо понимаю когда она работает). Проверил neq - работает вроде. Гуглится эта тема, потому напишу для таких же "одарённых" как я: Ну а дальше, видимо, через перебор параметров (else) прыжки к командам (goto). |
Отправлено: 20:15, 29-07-2017 | #6 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 23:53, 29-07-2017 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Проверка наличия обновления | SANIOK_AV | Скриптовые языки администрирования Windows | 4 | 18-08-2011 14:47 | |
Любой язык - [решено] Проверка наличия файла на веб-сервере | Vadikan | Скриптовые языки администрирования Windows | 5 | 20-05-2011 01:22 | |
VBS/WSH/JS - [решено] Проверка наличия соединения с интернетом (*.vbs) | BadAngel | Скриптовые языки администрирования Windows | 9 | 18-04-2011 12:06 | |
CMD/BAT - Проверка наличия диска в дисководе по папке | MedVetoff | Скриптовые языки администрирования Windows | 8 | 27-08-2009 16:55 | |
[решено] Проверка наличия поля в таблице БД | Artem-Samsung | Вебмастеру | 8 | 19-03-2008 21:40 |
|