Ответы:
FOR %%A IN (list) DO command parameters
list - это список любых элементов, разделенных пробелами, запятыми или точками с запятой.
Командой может быть любая внутренняя или внешняя команда, командный файл или даже - в OS / 2 и NT - список команд
параметры содержит параметры командной строки для команды. В этом примере команда будет выполнена один раз для каждого элемента в списке, используя параметры, если они указаны.
Специальный тип параметра (или даже команды) - это %% A, который будет последовательно заменяться каждым элементом из списка.
Из петли FOR
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
если хотите включить в for
цикл несколько строк
Если вы хотите сделать что-то x раз, вы можете сделать это:
Пример (х = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
средства:
Тип:
for /?
и вы получите несколько страниц справочного текста.
Условно выполнить команду несколько раз.
Синтаксис-FOR-Files
FOR %%parameter IN (set) DO command
Синтаксис FOR-Files-Rooted на пути
FOR /R [[drive:]path] %%parameter IN (set) DO command
Синтаксис-FOR-папки
FOR /D %%parameter IN (folder_set) DO command
синтаксис для списка номеров
FOR /L %%parameter IN (start,step,end) DO command
синтаксис-для-содержимого файла
FOR /F ["options"] %%parameter IN (filenameset) DO command
или
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
Результаты синтаксиса для команды
FOR /F ["options"] %%parameter IN ('command to process') DO command
Это
%%G
равным некоторой части этих данныхЕсли вы используете команду FOR в командной строке, а не в пакетной программе, используйте только один знак процента: %G
вместо%%G
.
Параметры FOR
Первый параметр должен быть определен с использованием одного символа, например буквы G.
FOR %%G IN
...
В каждой итерации цикла FOR IN ( ....)
предложение оценивается и %%G
получает другое значение
Если это предложение приводит к единственному значению, то %% G устанавливается равным этому значению, и команда выполняется.
Если предложение приводит к нескольким значениям, то дополнительные параметры неявно определены для хранения каждого из них. Они автоматически присваиваются в алфавитном порядке %%H %%I %%J
... (неявное определение параметров)
Если параметр ссылается на файл, то для извлечения имени файла / пути / даты / размера может использоваться расширенная ссылка на переменную.
Конечно, вы можете выбрать любую букву алфавита, кроме %%G
. но это хороший выбор, потому что он не конфликтует ни с одной из букв формата имени пути (a, d, f, n, p, s, t, x) и обеспечивает самый длинный цикл неконфликтующих букв для использования в качестве неявных параметров ,
%a%
название обычному файлу? С этим форматом сложно помочь. Не стесняйтесь задавать новый вопрос после прочтения, как спросить .
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
Понял (здесь) [ ss64.com/nt/syntax-args.html ), спасибо тебе. Ура, приятель.
FOR
предоставит вам любую информацию о циклах FOR, которая вам когда-либо понадобится, включая примеры правильного использования.
Попробуйте этот код:
@echo off
color 02
set num1=0
set num2=1
set terminator=5
:loop
set /a num1= %num1% + %num2%
if %num1%==%terminator% goto close
goto open
:close
echo %num1%
pause
exit
:open
echo %num1%
goto loop
num1
это число, которое будет увеличено, и num2
это значение, добавленное к, num1
а терминатор это значение, где num1
будет заканчиваться. Вы можете указать другое значение для терминатора в этом операторе ( if %num1%==%terminator% goto close
). Это логическое выражение. Goto close - это процесс, если логическое значение равно true, а goto open - процесс, если логическое значение равно false.
@echo off
echo.
set /p num1=Enter Prelim:
echo.
set /p num2=Enter Midterm:
echo.
set /p num3=Enter Semi:
echo.
set /p num4=Enter Finals:
echo.
set /a ans=%num1%+%num2%+%num3%+%num4%
set /a avg=%ans%/4
ECHO %avg%
if %avg%>=`95` goto true
:true
echo The two numbers you entered were the same.
echo.
pause
exit
Из FOR /?
справки док:
FOR% variable IN (set) DO команда [команда-параметры]
% variable Указывает однобуквенный заменяемый параметр.
(set) Определяет набор из одного или нескольких файлов. Подстановочные знаки могут быть использованы. команда Определяет команду для выполнения для каждого файла.
command-parameters
Определяет параметры или параметры для указанной команды.
Чтобы использовать команду FOR в пакетной программе, укажите %% variable вместо
% variable. Имена переменных чувствительны к регистру, поэтому% i отличается
от% I.
Если расширения команд включены, поддерживаются следующие дополнительные
формы команды FOR:
FOR / D% переменная IN (set) команда DO [параметры-команды]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR / R [[диск:] путь]% переменная IN (установка) DO команда [команда-параметры]
Walks the directory tree rooted at [drive:]path, executing the FOR
statement in each directory of the tree. If no directory
specification is specified after /R then the current directory is
assumed. If set is just a single period (.) character then it
will just enumerate the directory tree.
FOR / L% переменная IN (начало, шаг, конец) DO команда [команда-параметры]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)