Ответы:
Вместо того, чтобы использовать goto
несколько раз, вы должны использовать for
цикл .
Здесь вы можете указать, что цикл должен выполняться 15 раз.
echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /L %%i in (1,1,15) do (Echo ^ text ^ >> C:/files/text_!random!.txt)
Переменная %%i
будет эквивалентна 1, 2,…, но она не будет использоваться внутри цикла.
for
цикл лучше в этом случае?).
Как мне сделать goto только 15 раз?
FOR /L %%v in (start, step, end) do *something*
будет делать то, что вам нужно, но если вам нравится использовать GOTO для этой задачи, вы можете сначала установить переменную, равную начальному значению, а затем увеличивать (или уменьшать) ее при каждом повторении операции, проверяя каждый раз, когда она достигла конечное значение. Обратите внимание, что вы можете начать echo off
строку с @
символа, чтобы предотвратить его вывод на консоль.
@echo off
set numval=0
REM you can use a variable or else a magic number in the loop
set endval=15
:abc
Echo ^ text ^ >> C:/files/text_%random%.txt
set /a numval +=1
if %numval% lss %endval% goto abc
REM or if %numval% lss 15 goto abc
echo Done 15 times
goto
утверждений, и почему твой ответ лучше.