Меню Рубрики

For in windows batch file

для for

Выполняет указанную команду для каждого файла в наборе файлов. Runs a specified command for each file, within a set of files.

Синтаксис Syntax

Параметры Parameters

Параметр Parameter Описание Description
Обязательный элемент. Required. Представляет заменяемый параметр. Represents a replaceable parameter. Используйте один знак процента ( % ), чтобы выполнить команду for в командной строке. Use a single percent sign ( % ) to carry out the for command at the command prompt. Используйте двойные знаки процента ( %% ) для выполнения команды for в пакетном файле. Use double percent signs ( %% ) to carry out the for command within a batch file. Переменные чувствительны к регистру и должны быть представлены в алфавитном значении, например % a, % bили % c. Variables are case sensitive, and they must be represented with an alphabetical value such as %a, %b, or %c.
( ) ( ) Обязательный элемент. Required. Указывает один или несколько файлов, каталогов или текстовых строк или диапазон значений, по которым должна выполняться команда. Specifies one or more files, directories, or text strings, or a range of values on which to run the command. Необходимо поставить скобки. The parentheses are required.
Обязательный элемент. Required. Указывает команду, которую нужно выполнить для каждого файла, каталога или текстовой строки, или диапазон значений, включенных в набор. Specifies the command that you want to carry out on each file, directory, or text string, or on the range of values included in set.
Задает параметры командной строки, которые необходимо использовать с указанной командой. Specifies any command-line options that you want to use with the specified command.
/? /? Отображение справки в командной строке. Displays help at the command prompt.

Примечания Remarks

Эту команду можно использовать в пакетном файле или непосредственно в командной строке. You can use this command within a batch file or directly from the command prompt.

К команде for применяются следующие атрибуты: The following attributes apply to the for command:

Эта команда заменяет % variable или %% variable с каждой текстовой строкой в указанном наборе до тех пор, пока указанная команда не обработает все файлы. This command replaces % variable or %% variable with each text string in the specified set until the specified command processes all of the files.

В именах переменных учитывается регистр, глобальная и не более 52 может быть активна за один раз. Variable names are case sensitive, global, and no more than 52 can be active at a time.

Чтобы избежать путаницы с параметрами пакетной службы, %0 %9 можно использовать любой символ для переменной , кроме цифр от 0 до 9. To avoid confusion with the batch parameters, %0 through %9 , you can use any character for variable except the numerals 0 through 9. Для простых пакетных файлов один символ, например, %%f будет работать. For simple batch files, a single character such as %%f will work.

Можно использовать несколько значений для переменной в сложных пакетных файлах для различения разных заменяемых переменных. You can use multiple values for variable in complex batch files to distinguish different replaceable variables.

Параметр Set может представлять одну группу файлов или несколько групп файлов. The set parameter can represent a single group of files or several groups of files. Для указания набора файлов можно использовать подстановочные знаки (* и ?). You can use wildcard characters (* and ?) to specify a file set. Ниже приведены допустимые наборы файлов. The following are valid file sets:

При использовании этой команды первое значение в Set заменяет % variable или %% variable , а затем заданная команда обрабатывает это значение. When you use this command, the first value in set replaces % variable or %% variable , and then the specified command processes this value. Это будет продолжаться до тех пор, пока не будут обработаны все файлы (или группы файлов), соответствующие заданному значению . This continues until all of the files (or groups of files) that correspond to the set value are processed.

В и не имеют параметров, но их необходимо использовать с этой командой. In and do aren’t parameters, but you must use them with this command. Если опустить одно из этих ключевых слов, появится сообщение об ошибке. If you omit either of these keywords, an error message appears.

Если расширения команд включены (по умолчанию), поддерживаются следующие дополнительные формы для : If command extensions are enabled (that is the default), the following additional forms of for are supported:

Только каталоги: Если параметр SET содержит подстановочные знаки (* или ?), то указанная команда выполняется для каждого каталога (вместо набора файлов в указанном каталоге), соответствующего заданному набору. Directories only: If set contains wildcard characters (* or ?), the specified command executes for each directory (instead of a set of files in a specified directory) that matches set. Синтаксис: The syntax is:

Рекурсивно: Просматривает дерево каталогов, корневое в папке Drive:path , и выполняет инструкцию for в каждом каталоге дерева. Recursive: Walks the directory tree that is rooted at drive:path and executes the for statement in each directory of the tree. Если после /rне указан каталог, в качестве корневого каталога используется текущий каталог. If no directory is specified after /r, the current directory is used as the root directory. Если параметр задан только как одиночная точка (.), он только перечисляет дерево каталогов. If set is just a single period (.), it only enumerates the directory tree. Синтаксис: The syntax is:

Итерация диапазона значений: Используйте итерационную переменную, чтобы задать начальное значение (Start#), а затем пошаговое задание диапазона значений до тех пор, пока значение не превысит установленное конечное значение (End#). Iterating a range of values: Use an iterative variable to set the starting value (start#) and then step through a set range of values until the value exceeds the set ending value (end#). /l выполняет итеративный вызов, сравнивая Start# с End#. /l will execute the iterative by comparing start# with end#. Если Start# меньше, чем End#, команда будет выполнена. If start# is less than end# the command will execute. Когда итерационная переменная превышает End#, Командная оболочка завершает цикл. When the iterative variable exceeds end#, the command shell exits the loop. Можно также использовать отрицательный шаг# для прохода по диапазону по убыванию значений. You can also use a negative step# to step through a range in decreasing values. Например, (1, 1, 5) формирует последовательность 1 2 3 4 5, а (5,-1, 1) формирует последовательность 5 4 3 2 1. For example, (1,1,5) generates the sequence 1 2 3 4 5 and (5,-1,1) generates the sequence 5 4 3 2 1. Синтаксис: The syntax is:

Итерация и синтаксический анализ файлов: Используйте синтаксический анализ файлов для обработки выходных данных команды, строк и содержимого файлов. Iterating and file parsing: Use file parsing to process command output, strings, and file content. Используйте итерационные переменные для определения содержимого или строк, которые необходимо проверить, и используйте различные параметры парсингкэйвордс для дальнейшего изменения разбора. Use iterative variables to define the content or strings that you want to examine, and use the various parsingkeywords options to further modify the parsing. Используйте параметр токена парсингкэйвордс , чтобы указать, какие токены должны передаваться как итерационные переменные. Use the parsingkeywords token option to specify which tokens should be passed as iterative variables. Обратите внимание, что при использовании без параметра token функция /f будет проверять только первый токен. Note that when used without the token option, /f will only examine the first token.

Анализ файлов состоит из чтения выходных данных, строки или содержимого файла, а затем разбивает их на отдельные строки текста и анализирует каждую строку в ноль или более маркеров. File parsing consists of reading the output, string, or file content, and then breaking it into individual lines of text and parsing each line into zero or more tokens. Затем цикл for вызывается с итерационным значением переменной, заданным для маркера. The for loop is then called with the iterative variable value set to the token. По умолчанию /f передает первый пустой отделенный маркер из каждой строки каждого файла. By default, /f passes the first blank separated token from each line of each file. Пустые строки пропускаются. Blank lines are skipped.

Синтаксис: The syntaxes are:

Аргумент Set указывает одно или несколько имен файлов. The set argument specifies one or more file names. Каждый файл открывается, считывается и обрабатывается перед переходом к следующему файлу в наборе. Each file is opened, read, and processed before moving to the next file in set. Чтобы переопределить поведение при синтаксическом анализе по умолчанию, укажите парсингкэйвордс. To override the default parsing behavior, specify parsingkeywords. Это строка в кавычках, содержащая одно или несколько ключевых слов для указания различных параметров анализа. This is a quoted string that contains one or more keywords to specify different parsing options.

Если используется параметр усебаккк , используйте один из следующих синтаксисов: If you use the usebackq option, use one of the following syntaxes:

В следующей таблице перечислены ключевые слова синтаксического анализа, которые можно использовать для парсингкэйвордс. The following table lists the parsing keywords that you can use for parsingkeywords.

Ключевое слово Keyword Описание Description
конца строки = eol= Задает символ конца строки (всего один символ). Specifies an end of line character (just one character).
пропустить = skip= Указывает число пропускаемых строк в начале файла. Specifies the number of lines to skip at the beginning of the file.
делимс = delims= Задает набор разделителей. Specifies a delimiter set. Это заменяет набор разделителей по умолчанию пробела и табуляции. This replaces the default delimiter set of space and tab.
токены = tokens= Указывает, какие токены из каждой строки должны передаваться в цикл for для каждой итерации. Specifies which tokens from each line are to be passed to the for loop for each iteration. В результате выделяются дополнительные имена переменных. As a result, additional variable names are allocated. m-n указывает диапазон от mдо n-го маркера. m-n specifies a range, from the mth through the nth tokens. Если последним символом в строке tokens = является звездочка (*), выделяется дополнительная переменная и получается оставшийся текст в строке после последнего проанализированного маркера. If the last character in the tokens= string is an asterisk (*), an additional variable is allocated, and it receives the remaining text on the line after the last token that is parsed.
усебаккк usebackq Задает выполнение строки в кавычках в виде команды, использование строки с одной кавычкой в качестве литеральной строки или для длинных имен файлов, содержащих пробелы, позволяет заключать имена файлов в двойные кавычки. Specifies to run a back-quoted string as a command, use a single-quoted string as a literal string, or, for long file names that contain spaces, allow file names in , to each be enclosed in double-quotation marks.

Подстановка переменных: В следующей таблице перечислены необязательные синтаксисы (для любой переменной I). Variable substitution: The following table lists optional syntax (for any variable I):

Переменная с модификатором Variable with modifier Описание Description
%

I

Развертывает %I , удаляя все окружающие кавычки. Expands %I which removes any surrounding quotation marks.
%

fI

Разворачивается %I до полного имени пути. Expands %I to a fully qualified path name.
%

dI

Разворачивается %I только буква диска. Expands %I to a drive letter only.
%

pI

Разворачивается %I только по пути. Expands %I to a path only.
%

nI

Разворачивается %I только на имя файла. Expands %I to a file name only.
%

xI

Разворачивается %I только на расширение имени файла. Expands %I to a file name extension only.
%

sI

Разворачивает путь, чтобы содержать только короткие имена. Expands path to contain short names only.
%

aI

Разворачивается %I в файловые атрибуты файла. Expands %I to the file attributes of file.
%

tI

Разворачивается %I до даты и времени файла. Expands %I to the date and time of file.
%

zI

Разворачивается %I до размера файла. Expands %I to the size of the file.
%

$PATH:I

Выполняет поиск в каталогах, перечисленных в переменной среды PATH, и раскрывает полное %I имя первого найденного каталога. Searches the directories listed in the PATH environment variable and expands %I to the fully qualified name of the first directory found. Если имя переменной среды не определено или файл не найден при поиске, этот модификатор разворачивается до пустой строки. If the environment variable name is not defined or the file is not found by the search, this modifier expands to the empty string.

В следующей таблице перечислены сочетания модификаторов, которые можно использовать для получения составных результатов. The following table lists modifier combinations that you can use to get compound results.

Переменная с объединенными модификаторами Variable with combined modifiers Описание Description
%

dpI

Разворачивается %I только буква диска и путь. Expands %I to a drive letter and path only.
%

nxI

Развертывает %I только имя файла и расширение. Expands %I to a file name and extension only.
%

fsI

Разворачивается %I в полное имя пути с краткими именами. Expands %I to a full path name with short names only.
%

dp$PATH:I

Выполняет поиск в каталогах, указанных в переменной среды PATH для %I , и разворачивается на букву диска и путь к первой найденной папке. Searches the directories that are listed in the PATH environment variable for %I and expands to the drive letter and path of the first one found.
%

ftzaI

Разворачивается %I в выходную строку, похожую на dir. Expands %I to an output line that is like dir.

В приведенных выше примерах можно заменить %I и Path другими допустимыми значениями. In the above examples, you can replace %I and PATH with other valid values. Допустимое имя переменной завершает %

синтаксис. A valid for variable name ends the %

Используя имена переменных в верхнем регистре, например %I , можно сделать код более читаемым и избежать путаницы с модификаторами, которые не чувствительны к регистру. By using uppercase variable names such as %I , you can make your code more readable and avoid confusion with the modifiers, which are not case sensitive.

Синтаксический анализ строки: for /f Логику синтаксического анализа можно использовать в непосредственной строке путем заключения

  • в двойные кавычки (без усебаккк) или в одинарные кавычки (with усебаккк), например (MyString) или (‘ MyString ‘). Parsing a string: You can use the for /f parsing logic on an immediate string by wrapping
  • in either: double quotes (without usebackq) or in single quotes (with usebackq) —for example, (MyString) or (‘MyString’).
  • рассматривается как одна строка входных данных из файла.
  • is treated as a single line of input from a file. При синтаксическом анализе
  • в двойных кавычках символы команд (например, \ & | > ) обрабатываются как обычные символы. When parsing
  • in double-quotes, command symbols (such as, \ & | > ) are treated as ordinary characters.

    Синтаксический анализ выходных данных: Можно использовать for /f команду для анализа выходных данных команды путем помещения обратной кавычки между круглыми скобками. Parsing output: You can use the for /f command to parse the output of a command by placing a back-quoted between the parentheses. Он рассматривается как Командная строка, которая передается дочернему Cmd.exeу. It is treated as a command line, which is passed to a child Cmd.exe. Выходные данные фиксируются в памяти и анализируются так, как если бы это был файл. The output is captured into memory and parsed as if it is a file.

    Примеры Examples

    Чтобы использовать для в пакетном файле, используйте следующий синтаксис: To use for in a batch file, use the following syntax:

    Чтобы отобразить содержимое всех файлов в текущем каталоге с расширением DOC или txt, используя заменяемую переменную % f, введите: To display the contents of all the files in the current directory that have the extension .doc or .txt by using the replaceable variable %f, type:

    В предыдущем примере каждый файл, имеющий расширение DOC или txt в текущем каталоге, подставляется для переменной % f до тех пор, пока не будет отображено содержимое каждого файла. In the preceding example, each file that has the .doc or .txt extension in the current directory is substituted for the %f variable until the contents of every file are displayed. Чтобы использовать эту команду в пакетном файле, замените каждое вхождение % f на %% f. To use this command in a batch file, replace every occurrence of %f with %%f. В противном случае переменная игнорируется и выводится сообщение об ошибке. Otherwise, the variable is ignored and an error message is displayed.

    Чтобы выполнить синтаксический анализ файла, игнорируя строки с комментариями, введите: To parse a file, ignoring commented lines, type:

    Эта команда анализирует каждую строку в myfile.txt. This command parses each line in myfile.txt. Он игнорирует строки, начинающиеся с точки с запятой, и передает второй и третий токены из каждой строки в тело для тела (маркеры разделяются запятыми или пробелами). It ignores lines that begin with a semicolon and passes the second and third token from each line to the for body (tokens are delimited by commas or spaces). Тело инструкции for ссылается на % i , чтобы получить второй токен % j для получения третьего маркера, и % k , чтобы получить все остальные токены. The body of the for statement references %i to get the second token, %j to get the third token, and %k to get all of the remaining tokens. Если указываемые имена файлов содержат пробелы, заключите его в кавычки (например, имя файла). If the file names that you supply contain spaces, use quotation marks around the text (for example, File Name). Чтобы использовать кавычки, необходимо использовать усебаккк. To use quotation marks, you must use usebackq. В противном случае кавычки будут интерпретированы как определение литеральной строки для синтаксического анализа. Otherwise, the quotation marks are interpreted as defining a literal string to parse.

    % i явно объявлен в операторе for . %i is explicitly declared in the for statement. % j и % k неявно объявляются с помощью токенов =. %j and %k are implicitly declared by using tokens=. Токены можно использовать для указания до 26 маркеров, при условии что не будет пытаться объявить переменную выше буквы Z или z. You can use tokens= to specify up to 26 tokens, provided that it does not cause an attempt to declare a variable higher than the letter z or Z.

    Чтобы проанализировать выходные данные команды, заставив в скобки заданную команду, введите: To parse the output of a command by placing set between the parentheses, type:

    Источник

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • For 3d pinball for windows space cadet
  • Foobar для windows 10
  • Fonttwister portable rus для windows 7
  • Fontinst exe windows 7
  • Fontcache служба кэша шрифтов windows