echo off
:abc
Echo ^ text ^ >> C:/files/text_%random%.txt
goto abc

Как мне сделать goto только 15 раз?

2 ответа2

3

Вместо того, чтобы использовать 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,…, но она не будет использоваться внутри цикла.

0

Как мне сделать 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .