Пакетный цикл скриптов - PullRequest
243 голосов
/ 07 апреля 2010

Мне нужно выполнить команду 100-200 раз, и пока мое исследование показывает, что мне нужно будет либо скопировать / вставить 100 копий этой команды, либо использовать цикл for, но цикл for ожидает список предметов, поэтому мне понадобится 200 файлов для работы или список из 200 предметов, чтобы победить точку.

Я бы предпочел не писать программу на С и пройти весь процесс документирования, почему мне пришлось написать другую программу для выполнения моей программы в тестовых целях. Модификация самой моей программы тоже не вариант.

Итак, учитывая команду a, как бы я ее выполнил N раз с помощью пакетного сценария?

Ответы [ 13 ]

0 голосов
/ 08 июля 2016

(отредактировано) Я сделал так, чтобы он останавливался после 100 раз

@echo off
goto actual
set /a loopcount=0
:actual
set /a loopcount=%loopcount% + 1
echo %random% %random% %random% %random%
timeout 1 /nobreak>nul
if %loopcount%== 100 goto stop
goto actual
:stop
exit

Это сгенерирует 4 случайных числа 1 раз 100 секунд. Уберите «timeout 1 / nobreak> nul», чтобы он работал очень быстро.

0 голосов
/ 27 мая 2016

Я использую это. Это примерно то же самое, что и другие, но это просто еще один способ написать это.

@ECHO off
set count=0
:Loop
if %count%==[how many times to loop] goto end
::[Commands to execute here]
set count=%count%+1
goto Loop
:end
0 голосов
/ 25 февраля 2016

Не уверен, что такой ответ уже был представлен, но вы можете попробовать что-то вроде этого:

@echo off
:start
set /a var+=1
if %var% EQU 100 goto end
:: Code you want to run goes here
goto start

:end
echo var has reached %var%.
pause
exit

Переменная% var% будет увеличиваться на единицу, пока не достигнет 100, где программа затемвыводит, что он завершил выполнение.Опять же, не уверен, было ли это подано или что-то в этом роде, но я думаю, что оно может быть самым компактным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...