Цикл от 1 до N внутри .bat/.cmd файла
????????? ????? (?????????? ?????????? ?????? ? ??????) ???????????? ???????????????? ????? ?????. ??? ?????? ??? ??????, ????? ???????, ????????? ?????? ???????? ?????-?????? ????? ? ?????? ??? ?????. ???????, ??? ????? ??????????? ?????? ???? ???? ??? ????? ??? ??? ??? ?????, ?? ?????? ?????? ????? ???? ????????? ??? ????????? ?? ???????, ??? ????, ????? ??????, ???? ?????? ?? ??????????, ??? ?????? ??????????? ???? ?????? ? ??? ???? ?? ??????? ????????????, ? ????? ???? ?????? ???? ??????? ???????? bat ??? cmd ???? ? ????????? ?????, ????????? ??? ???, ??? ?????????.
???? ?? ?? ??????? ?????? ?????? - ??? ?????? ?????????? ????????? ?????? ?? ???? ?? N, ?? ? ?????? ??????????. ??????, ????????? ???? ????? ????? ? ??? ?? ?????????, ???? ? ?????????, ?? ?????, ? ??? ????????? N ?????, ??? N ???????? ?????????? - ??? ?? ????? ??????????. ? ???????, ? ??????????? ?????? (??????? ????? ? ???? ?? ?????????), ???? ?????????-????????? ??????? ? ??????????: ??????? set ? ?????? /a, ??????? ????????? ???????? ??? ?????????????? ?????????. ?? ??????? ??????, ?? ???-???.
????????? ??, ????????, ????? ????????? N ????? ?????????, ?????? ???? ????????????? ???? ?? ??????, ????? ? ??? ????????????, ???? ????. ????????, ??? ??? (??????????????, ??? ???? ?????? me.cmd):
echo Qu! %1
if x%1 == x goto :noprm
if %1 == 0 goto :EOFset /a Qu=%1-1
start me %Qu%
... ?????????? ????? ??? ?????? ...
goto :EOF:noprm
me 5
Comments
Anonymous
January 01, 2003
Господа, класс! Спасибо! Не то чтобы я не сделал то, что вы свысока рекомендуете - справку читал очень аккуратно, но к тому времени в ней ничего такого не было. Но, в любом случае, спасибо, обязательно проверю и освою, если такая радость появилась. Еще раз спасибо!Anonymous
September 12, 2006
На самом деле, команда for очень мощная. Советую посмотреть справку. Разрешены итерации по строкам файлов, автоматический разбор на токены, и многое другое. Например, цикл делается одной строкой.
FOR /L %variable IN (start,step,end) DO command [command-parameters]
СергейAnonymous
February 07, 2009
Согласен с предыдущим комментарием, с помощью FOR можно сделать куда проще. Например, for /L %%i in (0,1,24) do mkdir dvd%%i создаст 24 папки: от dvd0 до dvd24Anonymous
July 07, 2009
Все гениальное просто! Спасибо за мысли, коменты и примеры!