Compartir a través de


Цикл от 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 :EOF

set /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 до dvd24

  • Anonymous
    July 07, 2009
    Все гениальное просто! Спасибо за мысли, коменты и примеры!