powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / как в батнике считать все аргументы полученные в cmd ?
14 сообщений из 39, страница 2 из 2
как в батнике считать все аргументы полученные в cmd ?
    #34973304
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik
просто интересно возможно ли технически
Сейчас думаю, что нет.
Первого числа будет пара свободных часов на работе, если не забуду, попробую еще.
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34973456
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©

желаемый результат не вышел( опять числа
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34973478
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dayroon Tubrik
просто интересно возможно ли технически
Сейчас думаю, что нет.
Первого числа будет пара свободных часов на работе, если не забуду, попробую еще.

уж не забудь)
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34974285
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tubrik Biz©

желаемый результат не вышел( опять числа
ХРюша СП2:
qq.cmd
Код: plaintext
1.
2.
3.
4.
5.
@echo off
for /l %%i in ( 1 , 1 , 9 ) do (
           echo @echo arg%%i=%%%%i  > __xx.cmd
           call __xx.cmd %*
           )
del __xx.cmd
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
c:\Temp>qq.cmd q1 q2 q3 q4 q5 q6 q7
arg1=q1
arg2=q2
arg3=q3
arg4=q4
arg5=q5
arg6=q6
arg7=q7
arg8=
arg9=
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34974806
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©
ХРюша СП2:...

w2k sp4, w2k3 тоже работает, но ИМХО, %* все же корректнее и удобнее.
В одном батнике %%%%i, ИМХО, не развернуть до значения параметра
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34975009
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dayroon Biz©
ХРюша СП2:...

w2k sp4, w2k3 тоже работает, но ИМХО, %* все же корректнее и удобнее.
В одном батнике %%%%i, ИМХО, не развернуть до значения параметра
я отвечал на конкретное требование - получить значение аргумента, номер которого берётся из переменной цикла for ...
пользование %* ессно удобнее ... да и необходимость реализации указанного выше требования именно через for трудно представить в реальности :)
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34975189
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаток, но попробуйте

выводит результат 1 и 3 аргумента
Код: plaintext
1.
@echo off
for %%i In (% 1 ,% 3 ) do echo %%i

I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34975310
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotне знаток, но попробуйте

выводит результат 1 и 3 аргумента
Код: plaintext
1.
@echo off
for %%i In (% 1 ,% 3 ) do echo %%i

I Have Nine Lives You Have One Only
THINK!

это мало чем отличается от:
Код: plaintext
for %%i In (%*) do
к тому же нельзя задать диапазон значений
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34975340
Dayroon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotне знаток, но попробуйте

выводит результат 1 и 3 аргумента
Код: plaintext
1.
@echo off
for %%i In (% 1 ,% 3 ) do echo %%i


Это тоже работает, но топикстартер "хочет странного" (с)
Ему хочется именно через for (1,1,10).
А так, саму задачу уже решили и несколько раз.
Biz©

пользование %* ессно удобнее ... да и необходимость реализации указанного выше требования именно через for трудно представить в реальности :)

Именно эту мысль и пытался донести до автора. Процитировал Вас, дабы подтвердить автору, что на остальной линейке ОС, Ваше решение тоже работает
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #34975810
Tubrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо огромное, мне просто было любопытно знать об этом варианте. Синтаксис языка несколько странный для меня, столкнулся впервые, с одной стороны строгий (следит за пробелами и расположением скобок), с другой стороны расхлябанный, логика непоследовательная, трудно угадать как сделать что-либо, не воспользовавшись хелпом. Давайте закроем уже тему, а то чувствую, надоел :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как в батнике считать все аргументы полученные в cmd ?
    #37083253
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток.

Надо прервать цикл, при достижения определенного значения.
Цикл открыт на основе количества файлов.
Сделал так, но цикл не прервался:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
set n_max =  2 
set Dir1=C:\Windows\Temp\

set n_cnt=
@for /f "" %%i in ('dir /B /d "%Dir1%*.*"') do (
  set /a n_cnt=n_cnt+ 1 
  if "%%n_cnt" == n_max goto exit
)
echo %n_cnt% > test.txt

:exit


Подскажите пожалуйста, в чем ошибка ?
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #37083904
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Накопление внутри цикла не показывает:
Код: plaintext
1.
2.
3.
4.
5.
6.
set n_cnt= 0 
@for /f "" %%i in ('dir /B /d "%Dir1%*.*"') do (
set /a n_cnt=n_cnt +  1 
echo %n_cnt%
)
echo %n_cnt%
показывает:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 0 
 0 
 0 
 0 
 0 
 0 
 0 
 0 
 0 
 0 

 10 
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #37084002
Фотография Gabit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как тогда прервать непонятно.
...
Рейтинг: 0 / 0
как в батнике считать все аргументы полученные в cmd ?
    #37141196
-=Dark=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С помощью команд IF и SHIFT можно в цикле обрабатывать все параметры командной строки файла, даже не зная заранее их количества. Например, следующий командный файл (назовем его primer.bat) выводит на экран имя запускаемого файла и все параметры командной строки:
@ECHO OFF
ECHO Выполняется файл: %0
ECHO.
ECHO Файл запущен со следующими параметрами...
REM Начало цикла
:BegLoop
IF -%1==- GOTO ExitLoop
ECHO %1
REM Сдвиг параметров
SHIFT
REM Переход на начало цикла
GOTO BegLoop
:ExitLoop
REM Выход из цикла
ECHO.
ECHO Все.

Если запустить primer.bat с четырьмя параметрами:
primer.bat А Б В Г

то в результате выполнения на экран выведется следующая информация:
Выполняется файл: primer.bat

Файл запущен со следующими параметрами:
А
Б
В
Г

Все.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Windows [игнор отключен] [закрыт для гостей] / как в батнике считать все аргументы полученные в cmd ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]