Каков синтаксис цикла FOR в командном файле Windows?
Как вы работаете в пакетном файле Windows?
Ответ 1
FOR %%A IN (list) DO command parameters
list - это список любых элементов, разделенных пробелами, запятыми или точками с запятой.
команда может быть любой внутренней или внешней командой, пакетным файлом или даже - в OS/2 и NT - списком команд
параметры содержат параметры командной строки для команды. В этом примере команда будет выполняться один раз для каждого элемента в списке, используя параметры, если они указаны.
Специальный тип параметра (или даже команда) - это %% A, который будет подстроен каждым элементом из списка последовательно.
От цикла FOR
Ответ 2
Если вы хотите сделать что-то х раз, вы можете сделать это:
Пример (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
означает:
- Начало = 1
- Приращение на шаг = 1
- End = 200
Ответ 3
Тип:
for /?
и вы получите несколько страниц текста справки.
Ответ 4
Условно выполнить команду несколько раз.
-
Синтаксис-FOR-Files
FOR %%parameter IN (set) DO command
-
Синтаксис FOR-Files-Rooted at Path
FOR /R [[drive:]path] %%parameter IN (set) DO command
-
синтаксис FOR-папка
FOR /D %%parameter IN (folder_set) DO command
-
синтаксис-FOR-Список чисел
FOR /L %%parameter IN (start,step,end) DO command
-
Синтаксис-FOR-File contents
FOR /F ["options"] %%parameter IN (filenameset) DO command
или
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
-
синтаксис-FOR-Command Results
FOR /F ["options"] %%parameter IN ('command to process') DO command
Это
- Возьмем набор данных
- Сделать параметр FOR
%%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) и обеспечивает самый длинный пробег неконфликтных букв для использования в качестве неявных параметров.
Ответ 5
FOR
предоставит вам любую информацию, которую вам когда-либо понадобится узнать о циклах FOR, включая примеры правильного использования.
Ответ 6
Попробуйте этот код:
@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.
Ответ 7
@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
Ответ 8
Из FOR /?
help doc:
FOR% variable IN (set) Команда DO [command-parameters]
% variable Указывает параметр замены одной буквы.
(set) Определяет набор из одного или нескольких файлов. Могут использоваться подстановочные знаки. command Задает команду для выполнения для каждого файла.
Команда-параметры
Указывает параметры или переключатели для указанной команды.
Чтобы использовать команду FOR в пакетной программе, укажите вместо нее переменную %% % переменной. Переменные имена чувствительны к регистру, поэтому% я отличается от% I.
Если расширенные расширения команд включены, следующие дополнительные поддерживаются формы команды FOR:
FOR/D% переменная IN (задана) команда DO [command-parameters]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR/R [[диск:] путь]% переменная IN (задана) команда DO [command-parameters]
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 [command-parameters]
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)