Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Acuna

Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ах да, действительно, решение

Код: Выделить весь код
for %%i in (%*) do set %%i
оказалось наредкость изящным, а главное действенным. И без присущей батникам лишней писанины.

Код: Выделить весь код
rem Или проще:
for /l %%i in (1 1 15) do call echo %%key%%i%%
Это понятно, просто количество аргументов изначально не известно. В том-то и прелесть этой задачи: юзер может ввести различное количество аргументов. Получается что-то сродни массиву.

А что, если эту задачу немного усложнить, скажем еще одним аргументом ввести просто переменную:

Код: Выделить весь код
set var=ggg
moysuperbatnik.bat %var% "key1=value1" "key2=value2"
Что самое интересное, echo %1 в moysuperbatnik.bat при этом работает, но выводит сообщение "Переменная var не определена". Хотя ggg выводит. Это сообщение можно просто подавить, но боюсь того, как он может себя при этом повести на разных машинах...

Отправлено: 16:39, 18-03-2014 | #6