echo off
:abc
Echo ^ text ^ >> C:/files/text_%random%.txt
goto abc
Как мне сделать goto
только 15 раз?
Вместо того, чтобы использовать 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,…, но она не будет использоваться внутри цикла.
Как мне сделать 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