Как вы работаете в пакетном файле Windows?

Каков синтаксис цикла FOR в пакетном файле Windows?

FOR %%A IN (list) DO command parameters 

list – список любых элементов, разделенных пробелами, запятой или точкой с запятой.

командой может быть любая внутренняя или внешняя команда, командный файл или даже – в OS / 2 и NT – список команд

параметры содержат параметры командной строки для команды. В этом примере команда будет выполняться один раз для каждого элемента в списке, используя параметры, если они указаны.

Особым типом параметра (или даже команды) является %% A, который будет подстроен каждым элементом из списка последовательно.

Из циклов FOR

Если вы хотите что-то сделать x раз, вы можете сделать это:

Пример (x = 200):

 FOR /L %%A IN (1,1,200) DO ( ECHO %%A ) 

1,1,200 означает:

  • Начало = 1
  • Приращение на шаг = 1
  • Конец = 200

Тип:

 for /? 

и вы получите несколько страниц текста справки.

Условно выполните команду несколько раз.

  • Синтаксис-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

     FOR /F ["options"] %%parameter IN (filenameset) DO command 

    или

     FOR /F ["options"] %%parameter IN ("Text string to process") DO command 
  • Результаты синтаксиса FOR-Command

     FOR /F ["options"] %%parameter IN ('command to process') DO command 

Это

  • Возьмите dataset
  • Сделать параметр FOR %%G равным некоторой части этих данных
  • Выполните команду (необязательно, используя параметр как часть команды).
  • -> Повторить для каждого элемента данных

Если вы используете команду FOR в командной строке, а не в пакетной программе, используйте только один знак процента: %G вместо %%G

Для параметров

  • Первый параметр должен быть определен с использованием одного символа, например буквы G.

  • FOR %%G IN

    На каждой итерации цикла FOR вычисляется предложение IN ( ....) и %%G устанавливается на другое значение

    Если это предложение приводит к одному значению, то %% G устанавливается равным этому значению, и команда выполняется.

    Если предложение приводит к нескольким значениям, то дополнительные параметры неявно определяются для их хранения. Они автоматически назначаются в алфавитном порядке %%H %%I %%J … (определение неявных параметров)

    Если параметр относится к файлу, то для извлечения имени файла / пути / даты / размера можно использовать расширенную ссылку на переменную.

    Вы можете, конечно, выбрать любую букву алфавита, %%G от %%G но это хороший выбор, потому что он не конфликтует ни с одной из букв формата пути (a, d, f, n, p, s, t, x) и обеспечивает самый длинный пробег неконфликтных букв для использования в качестве неявных параметров ,

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 а terminator – это значение, которое заканчивается 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 /? help doc:

FOR% variable IN (set) Команда DO [параметры команды]

% variable Указывает параметр замены одной буквы.
(set) Определяет набор из одного или нескольких файлов. Могут использоваться подстановочные знаки. command Указывает команду для выполнения для каждого файла.
Команда-параметры
Указывает параметры или переключатели для указанной команды.

Чтобы использовать команду FOR в пакетной программе, вместо этого укажите переменную %%
% переменной. Имена переменных чувствительны к регистру, поэтому% i отличается
от% 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 [командные параметры]

 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) 

для

 for /L %n in (210,1,270) do @ffmpeg -i "C:\Users\x\IMG_0%n.MOV" -vcodec copy -acodec copy "C:\Users\x\out\IMG_0%n.MP4" 

он конвертирует формат файла .mov в .MP4 с “IMG_0210.MOV” в “IMG_0270.MOV”

извините за отправку глупого ответа, потому что я забуду легко, не сделав этого.

  • Как сохранить результат выражения команды в переменной с помощью битовых скриптов?
  • Как запустить пакетный скрипт (.bat-файл) из eclipse
  • Что означает :: (двойной двоеточие) в пакетных файлах DOS?
  • Пакетный скрипт для цикла не будет устанавливать переменную
  • Деление плавающей запятой в пакетном файле
  • Файл старше 4 минут в пакетном файле
  • пакетный скрипт - чтение строки за строкой
  • Пакетные файлы - обработка ошибок
  • Как разбить имя файла из полного пути в пакетном режиме?
  • Как разделить двойную кавычку на несколько строк в пакетном файле Windows?
  • Отображение вывода командной строки Windows и redirect ее в файл
  • Давайте будем гением компьютера.