Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вложенный цикл в цикле

Ответить
Настройки темы
CMD/BAT - [решено] Вложенный цикл в цикле

Пользователь


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

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


помогите сделать такую конструкцию
for %%a in (aParam1 aParam2 aParam3) do
for %%b in (bParam1 bParam2 bParam3) do
for %%c in (cParam1 cParam2 cParam3) do
echo %%a %%b %%c

т.е. на выходе должно получиться 9 строчек текста.
я уже думал через CALL сделать, все равно как-то не выходит.

Отправлено: 18:18, 14-12-2012

 

Старожил


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

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


Код: Выделить весь код
@echo off &setlocal enableextensions

for %%a in (a1 a2 a3) do (
	for %%b in (b1 b2 b3) do (
		for %%c in (c1 c2 c3) do (
			echo %%a %%b %%c
		)
	echo.
	)
)
только не 9, а 27
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:33, 14-12-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


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

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


Цитата kiripanda:
только не 9, а 27 »
извиняюсь, совсем задурил себе голову.
Нашел вот такое решение:


:ZIPl
for %%A in (aParam1 aParam2 aParam3) do call :VCl %%A
goto :EOF

:VCl
for %%B in (bParam1 bParam2 bParam3) do call :NUMBER %1 %%B
exit /b

:NUMBER
for %%C in (cParam1 cParam2 cParam3) do (
rem echo %1 %2 %%C
echo echo vc%2-%%C ^>^> log.txt >> olymp.txt
echo copy \\dc01\Olimpiada\%1 \\vc%2-%%C\c$\ ^>^> log.txt >> olymp.txt
)
exit /b

у меня не получалось так сделать, это из за этого?
Цитата kiripanda:
@echo off &setlocal enableextensions »
и можно вопроc по перебору простых чисел, как строчку из C
for (i=1,i<n,i++) перевести сюда?
Собственно нужно что-бы вместо 1 из параметров шли числа
for %%C in (from 1 to 10) - что-то в этом роде

Последний раз редактировалось etherlord, 14-12-2012 в 19:28. Причина: перепутал ":" и "?"


Отправлено: 18:40, 14-12-2012 | #3


Старожил


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

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


Цитата:
у меня не получалось так сделать
получается
Код: Выделить весь код
echo vcbParam1-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam1-cParam1\c$\ >> log.txt 
echo vcbParam1-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam1-cParam2\c$\ >> log.txt 
echo vcbParam1-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam1-cParam3\c$\ >> log.txt 
echo vcbParam2-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam2-cParam1\c$\ >> log.txt 
echo vcbParam2-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam2-cParam2\c$\ >> log.txt 
echo vcbParam2-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam2-cParam3\c$\ >> log.txt 
echo vcbParam3-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam3-cParam1\c$\ >> log.txt 
echo vcbParam3-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam3-cParam2\c$\ >> log.txt 
echo vcbParam3-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam1 \\vcbParam3-cParam3\c$\ >> log.txt 
echo vcbParam1-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam1-cParam1\c$\ >> log.txt 
echo vcbParam1-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam1-cParam2\c$\ >> log.txt 
echo vcbParam1-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam1-cParam3\c$\ >> log.txt 
echo vcbParam2-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam2-cParam1\c$\ >> log.txt 
echo vcbParam2-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam2-cParam2\c$\ >> log.txt 
echo vcbParam2-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam2-cParam3\c$\ >> log.txt 
echo vcbParam3-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam3-cParam1\c$\ >> log.txt 
echo vcbParam3-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam3-cParam2\c$\ >> log.txt 
echo vcbParam3-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam2 \\vcbParam3-cParam3\c$\ >> log.txt 
echo vcbParam1-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam1-cParam1\c$\ >> log.txt 
echo vcbParam1-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam1-cParam2\c$\ >> log.txt 
echo vcbParam1-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam1-cParam3\c$\ >> log.txt 
echo vcbParam2-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam2-cParam1\c$\ >> log.txt 
echo vcbParam2-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam2-cParam2\c$\ >> log.txt 
echo vcbParam2-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam2-cParam3\c$\ >> log.txt 
echo vcbParam3-cParam1 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam3-cParam1\c$\ >> log.txt 
echo vcbParam3-cParam2 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam3-cParam2\c$\ >> log.txt 
echo vcbParam3-cParam3 >> log.txt 
copy \\dc01\Olimpiada\aParam3 \\vcbParam3-cParam3\c$\ >> log.txt
Цитата:
for (i=1,i<n,i++)
Цитата FOR /?:
FOR /L %переменная IN (начало,шаг,конец) DO команда [параметры]

Набор раскрывается в последовательность чисел с заданными началом, концом
и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5),
а набор (5,-1,1) заменяется на (5 4 3 2 1)
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:19, 14-12-2012 | #4


Старожил


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

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


Цитата kiripanda:
&setlocal enableextensions »
для чего эта команда в коде циклов?
они работают и без неё

Отправлено: 06:03, 27-04-2023 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вложенный цикл в цикле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Цикл в Цикле deamon7 Скриптовые языки администрирования Windows 5 15-04-2023 09:04
CMD/BAT - Работа с переменными в цикле DarkDream604 Скриптовые языки администрирования Windows 5 03-03-2015 16:19
запуск GUICtrlSetData в цикле bugmenotagain AutoIt 10 04-08-2012 16:30
Smart. Вложенный массив Artem-Samsung Вебмастеру 1 11-11-2010 02:52
Вложенный SELECT в MySQL LEXX2002 Вебмастеру 7 06-09-2005 00:07




 
Переход