Урок 6 по CMD — обзор цикла for командной строки

Урок 6 по CMD — обзор цикла for командной строки Командная строка

В этой статье мы рассмотрим использование цикла for в командной строке, который, в отличии от аналогичных конструкций в других языках программирования, тут носит немного другой характер. Сперва, немного лирики…

В былые времена программирование носило совсем другие цели нежели теперь. Это теперь царит разнообразие различных языков: хочешь, пиши на php, хочешь, постигай вершины Delphi, в общем, все в изобилии и на любой вкус. Столь стремительный рост возможностей и средств для программирования затронул структуру и характер новых языков. Так, когда я еще проходил в школе на уроках информатики язык Pascal, то цикл использовался в основном для выполнения групповых математических задач: нахождение суммы чисел n-количества и групповое умножение. Теперь, ситуация немного другая, ведь помимо простой математики приходится работать с файлами, папками, объектами и коллекциями. И тут рождаются новые разновидности цикла:

  • В языке vbscript для перебора значений коллекции или массива служит цикл for each … next
  • В языке jscript для обработки массивов и объектов применяется цикл for … in

В командной строке цикл един, но с помощью ключей можно менять структуру его применения: работа с файлами, с каталогами, банальный перебор значений или текстовых строк.

В этой статье мы рассмотрим общую структуру цикла командной строки, так сказать – сделаем краткий обзор. По ходу материала я буду давать ссылки на остальные статьи с описанием, уже узких примеров применения, и так, начнем…

Цикл в командной строке – общее знакомство

Основной синтаксис применения следующий:

for итератор do (оператор)

Итератор – отвечает за ход выполнения. Тут определяется и условия и количество выполнения заданных операторов. Тут могут находиться как одна, так и несколько команд, которые можно объединить в одну цепочку, конвейер или группу (внутри скобок). Как и в стальных языках программировать, итератор содержит переменную инициализации (начальное значение), или же набор различных элементов – диапазон значений, группа файлов или папок.

На переменные инициализации распространяются следующие правила:

  • Они существуют только в теле цикла командной строки
  • В качестве имени нельзя использовать слово, например, myVar, а только латинские буквы в диапазоне от а до z или от А до Z, например %%А, %%В или %%С. Если вы используете цикл не в сценарии, а в окне консоли, то ставится только один символ %.
  • Названия переменных итератора чувствительны к регистру символов, то есть, %%a и %%A будут отличаться.

Как я уже сказал, цикл в командной строке может изменять логику работы с помощью ключей, а именно:

for/D %%имя_переменной in (набор_каталогов) do оператор – как вы уже догадались, данный синтаксис применяется для групповой работы с каталогами. Об этом свидетельствует ключ /D (directory). Как и в случае с файлами, тут можно указывать шаблонный формат или список.

for /R [путь] %%имя_переменной in (набор_файлов) do оператор – данный синтаксис используется для групповой работы с подкаталоги, о чем говорит параметр /R. С его помощью можно задать путь к папке, а потом задать список и шаблон для файлов, в результате, мы можем обработать все документы заданного типа в заданном диске или папке.

Примеры работы с корневыми и вложенными папками рассмотрены в статье «Урок 8 по CMD»

for /L %%имя_переменной in (начало, шаг, конец) do оператор – отвечает за перебор значений. Параметры в круглых скобках задают начальное значение, шаг (может быть как положительным, так и отрицательным) и конечное значение.

for /F ["параметры"] %%имя_переменной in (источник) do оператор – анализ текстовых файлов, строк и вывод команд. Данный синтаксис позволяет анализировать как содержимое файла, так и заданный текст. Плюс, можно задать параметры для анализа, например, число обрабатываемых строк, разделители и комментарии.

Примеры обработки текстовых строк рассмотрены в статье «Урок 9 по CMD»

for %%имя_переменной in (набор_файлов) do оператор – данный синтаксис применяется для групповой работы с файлами. Тут %%имя_переменной является переменной инициализации, которой будет присваиваться значение, заданное в “набор_файлов”, например, путь к заданному файлу. Так, набор_файлов может быть одной строкой определяющей группу документов по шаблону, или списком строк, разделенных пробелами.

Примеры работы с файлами и данными рассмотрены в статье «Урок 7 по CMD«

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий