Показать полную графическую версию : [решено] Вложенный цикл в цикле
etherlord
14-12-2012, 18:18
помогите сделать такую конструкцию
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 сделать, все равно как-то не выходит.
kiripanda
14-12-2012, 18:33
@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
etherlord
14-12-2012, 18:40
только не 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
у меня не получалось так сделать, это из за этого?
@echo off &setlocal enableextensions »
и можно вопроc по перебору простых чисел, как строчку из C
for (i=1,i<n,i++) перевести сюда?
Собственно нужно что-бы вместо 1 из параметров шли числа
for %%C in (from 1 to 10) - что-то в этом роде
kiripanda
14-12-2012, 20:19
у меня не получалось так сделать
получается
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 /L %переменная IN (начало,шаг,конец) DO команда [параметры]
Набор раскрывается в последовательность чисел с заданными началом, концом
и шагом приращения. Так, набор (1,1,5) раскрывается в (1 2 3 4 5),
а набор (5,-1,1) заменяется на (5 4 3 2 1)
shadowbat
27-04-2023, 06:03
&setlocal enableextensions »
для чего эта команда в коде циклов?
они работают и без неё
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.