Vvmebel.com

Новости с мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Cmd язык программирования

Учение основ cmd(bat) (ДЛЯ НОВИЧКОВ)

Хэллоу пикабушник. Я хочу, чтобы ты понял весь программный язык cmd(bat) на понятном языке. Ну, давай приступим?

Для начала Разберем, что такое cmd(bat) и с чем его едят?

С этим мы разобрались, теперь, зачем он нужен? Дело в том, что некоторые вещи можно быстрее выполнить в командной строке, а некоторые настройки в принципе отсутствуют в графическом интерфейсе пользователя. Так же следует иметь в виду, что до сих пор существуют утилиты, не имеющие графического интерфейса, а иногда он оказывается недоступен, например из-за сбоя.

Как открыть командную сроку(cmd.exe)

нажмите сочетание клавиш WIN+R, введите cmd и нажмите кнопку Ok;
нажмите кнопку «Пуск» введите в поле поиска «командная строка» и щелкните в результатах поиска «Командная строка» (можно ввести «cmd» и выбрать в результатах «cmd»);
нажмите «Пуск» ⇒ «Все программы» ⇒ «Стандартные» ⇒ «Командная строка»;
открыть в Проводнике папку C:WindowsSystem32 и запустить файл cmd.exe.

И так, давайте создадим на рабочем столе текстовый документ, а далее впишем в него

Для вывода сообщения в BAT файлах используется команда echo: Вывод сообщений и переключение режима отображения команд на экране. ECHO [ON. OFF] ECHO [сообщение] Ввод ECHO без параметров позволяет выяснить текущий режим отображения команд.

В данном случае напишем @Echo off

После напишем такую строку A: Что это такое? Это так сказать, строка, позволяющая делать оборот(обратно выполнять функции,команды после этой строки)

Далее после A: напишем, echo HELLO MY FRIEND (тут вышла ошибочка, пишем :A, а не A: )

echo — команда, позволяющая показывать сообщения, в моем случае это «HELLO MY FRIEND«

После давайте напишем команду, которая будет открывать окно, в данном случае это команда «Start»

Команда START — запуск приложения в новом окне

Команда START позволяет запускать приложения в отдельном окне, с возможностью указания некоторых параметров их выполнения.

Формат командной строки:

START [«заголовок»] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | REALTIME| /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [команда/программа] [параметры]

Параметры командной строки:

«заголовок» — заголовок окна. Обязательно в двойных кавычках.

путь — рабочий каталог.

B — запуск приложения без создания нового окна с отключением обработки сочетания клавиш CTRL+C. Если приложение не обрабатывает сочетание клавиш CTRL+C самостоятельно, единственным способом его прерывания является использование сочетания клавиш CTRL+Break.

I — Новой средой станет исходная среда, переданная cmd.exe, а не текущая среда.

MIN — Запуск команды/программы в свернутом окне.

MAX — Запуск команды/программы в развернутом окне.

SEPARATE — Запуск 16-разрядной программы Windows в отдельной области памяти.

SHARED — Запуск 16-разрядной программы Windows в общей области памяти.

LOW — Запуск приложения с приоритетом IDLE (самый низкий приоритет).

NORMAL — Запуск приложения с приоритетом NORMAL.

HIGH — Запуск приложения с приоритетом HIGH.

REALTIME — Запуск приложения с приоритетом REALTIME (самый высокий приоритет).

WAIT — Запуск приложения с ожиданием его завершения.

ABOVENORMAL — Запуск приложения с классом приоритета ABOVENORMAL (выше стандартного)

BELOWNORMAL — Запуск приложения с классом приоритета BELOWNORMAL (ниже стандартного)

команда/программа — Если это внутренняя команда cmd.exe или пакетный файл, обработчик команд (cmd.exe) запускается с ключом /K. Это означает, что окно не будет закрыто после завершения команды. Если это не внутренняя команда cmd.exe и не пакетный файл, значит, это программа, которая будет запущена в графическом или текстовом окне.

Но давайте напишем start http://google.com — при данное команде, будет открываться гугл.

После напишем echo I KILLED YOUR WINDOWS (Мини шуточка пхпх) — команда которая будет выводить текст. И на последок пишем goto A (для работы круга)

Вот как все это должно выглядеть

Нажимаем «Файл» «Сохранить как» Рабочий стол

Тип файла выбираем «Все файлы» и к названии вашего файла(в моем случае пикабу) приписываем .bat

Все, теперь открываем и проверяем!

Теперь можем видеть такую картину:

в вк вы можете попросить меня скинуть вам немножко жоще батник xD

Язык интерпретатора Cmd.exe. Командные файлы

Язык интерпретатора Cmd.exe. Командные файлы

Язык оболочки командной строки ( shell language ) в Windows реализован в виде командных (или пакетных) файлов. Командный файл в Windows — это обычный текстовый файл с расширением bat или cmd, в котором записаны допустимые команды операционной системы (как внешние, так и внутренние), а также некоторые дополнительные инструкции и ключевые слова, придающие командным файлам некоторое сходство с алгоритмическими языками программирования. Например, если записать в файл deltmp.bat следующие команды:

и запустить его на выполнение (аналогично исполняемым файлам с расширением com или exe), то мы удалим все файлы во временной директории Windows . Таким образом, исполнение командного файла приводит к тому же результату, что и последовательный ввод записанных в нем команд. При этом не проводится никакой предварительной компиляции или проверки синтаксиса кода; если встречается строка с ошибочной командой, то она игнорируется. Очевидно, что если вам приходится часто выполнять одни и те же действия, то использование командных файлов может сэкономить много времени.

Читать еще:  Программирование на visual basic 2020

Вывод сообщений и дублирование команд

По умолчанию команды пакетного файла перед исполнением выводятся на экран, что выглядит не очень эстетично. С помощью команды ECHO OFF можно отключить дублирование команд, идущих после нее (сама команда ECHO OFF при этом все же дублируется). Например,

Для восстановления режима дублирования используется команда ECHO ON . Кроме этого, можно отключить дублирование любой отдельной строки в командном файле, написав в начале этой строки символ @ , например:

Таким образом, если поставить в самое начало файла команду

то это решит все проблемы с дублированием команд.

В пакетном файле можно выводить на экран строки с сообщениями. Делается это с помощью команды

Команда ECHO . (точка должна следовать непосредственно за словом «ECHO») выводит на экран пустую строку. Например,

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

Используя механизм перенаправления ввода/вывода (символы > и >>), можно направить сообщения, выводимые командой ECHO , в определенный текстовый файл. Например:

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

Использование параметров командной строки

При запуске пакетных файлов в командной строке можно указывать произвольное число параметров, значения которых можно использовать внутри файла. Это позволяет, например, применять один и тот же командный файл для выполнения команд с различными параметрами.

Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %* . При этом вместо %0 подставляется имя выполняемого пакетного файла, вместо %1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то «лишние» переменные из %1 – %9 замещаются пустыми строками. Рассмотрим следующий пример. Пусть имеется командный файл copier.bat следующего содержания:

Если запустить его из командной строки с двумя параметрами, например

то на экран выведется сообщение

и произойдет копирование каталога C:Programs со всеми его подкаталогами в D:Backup.

При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT , которая изменяет значения замещаемых параметров с %0 по %9 , копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0 , значение %2 – в %1 и т.д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9 . Если же такой параметр не задан, то новое значение %9 — пустая строка.

Рассмотрим пример. Пусть командный файл my.bat вызван из командной строки следующим образом:

Тогда %0=my.bat, %1=p1, %2=p2, %3=p3 , параметры %4 – %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3 , параметры %3 – %9 – пустые строки.

При включении расширенной обработки команд SHIFT поддерживает ключ /n , задающий начало сдвига параметров с номера n , где n может быть числом от 0 до 9.

Например, в следующей команде:

параметр %2 заменяется на %3 , %3 на %4 и т.д., а параметры %0 и %1 остаются без изменений.

Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0) , который был первым перед сдвигом. Если в командной строке задано больше десяти параметров, то команду SHIFT можно использовать несколько раз.

В командных файлах имеются некоторые возможности синтаксического анализа заменяемых параметров. Для параметра с номером n (%n) допустимы синтаксические конструкции (операторы), представленные в табл. 3.1.

Язык интерпретатора Cmd.exe. Командные файлы .bat

Вывод сообщений и дублирование команд

По умолчанию команды пакетного файла перед исполнением выводятся на экран, что выглядит не очень эстетично. С помощью команды ECHO OFF можно отключить дублирование команд, идущих после нее (сама команда ECHO OFF при этом все же дублируется). Например,

Для восстановления режима дублирования используется команда ECHO ON. Кроме этого, можно отключить дублирование любой отдельной строки в командном файле, написав в начале этой строки символ @, например:

Таким образом, если поставить в самое начало файла команду

то это решит все проблемы с дублированием команд.

В пакетном файле можно выводить на экран строки с сообщениями. Делается это с помощью команды

Команда ECHO. (точка должна следовать непосредственно за словом «ECHO») выводит на экран пустую строку.

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

Используя механизм перенаправления ввода/вывода (символы > и >>), можно направить сообщения, выводимые командой ECHO, в определенный текстовый файл. Например:

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

Использование параметров командной строки

При запуске пакетных файлов в командной строке можно указывать произвольное число параметров, значения которых можно использовать внутри файла. Это позволяет, например, применять один и тот же командный файл для выполнения команд с различными параметрами.

Читать еще:  Уроки программирования с нуля

Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %*. При этом вместо %0 подставляется имя выполняемого пакетного файла, вместо %1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то «лишние» переменные из %1 – %9 замещаются пустыми строками. Рассмотрим следующий пример. Пусть имеется командный файл copier.bat следующего содержания:

Если запустить его из командной строки с двумя параметрами, например

то на экран выведется сообщение

и произойдет копирование каталога C:Programs со всеми его подкаталогами в D:Backup.

При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение %2 – в %1 и т.д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9. Если же такой параметр не задан, то новое значение %9 — пустая строка.

Рассмотрим пример. Пусть командный файл my.bat вызван из командной строки следующим образом:

Тогда %0=my.bat, %1=p1, %2=p2, %3=p3, параметры %4 – %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3, параметры %3 – %9 – пустые строки.

При включении расширенной обработки команд SHIFT поддерживает ключ /n, задающий начало сдвига параметров с номера n, где n может быть числом от 0 до 9.
Например, в следующей команде:

параметр %2 заменяется на %3, %3 на %4 и т.д., а параметры %0 и %1 остаются без изменений.

Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0), который был первым перед сдвигом. Если в командной строке задано больше десяти параметров, то команду SHIFT можно использовать несколько раз.
В командных файлах имеются некоторые возможности синтаксического анализа заменяемых параметров. Для параметра с номером n (%n) допустимы синтаксические конструкции (операторы), представленные в следующей таблице:

Урок 1 по CMD — утилита echo

Команда echo в командной строке используется для вывода данных на экран консоли или же в файл, и для включения/выключения эхо-отображения команд.

Эхо-отображения – вывод на экран самих команд, а не только результат их выполнения. Так, если мы пропишем в сценарии следующую строку кода:

а потом запустим его через консоль командной строки, то вначале нам выведет сами команды (echo Hello World & dir), а уже потом результат их выполнения. В данном случае команда cmd – echo, выводит строку Hello World, а команда dir (смотрите статью «Утилита DIR») – содержимое текущего каталога, символ & отвечает за конкатенацию (объединение) обеих команд (смотрите статью «Урок 2 по CMD — операторы командной строки»).

Для простоты запуска сценариев, пропишите в командной строке:

Вместо пропишите путь к каталогу, в котором собираетесь хранить сценарий. Дайте сценарию простое имя, например, test.bat. Теперь в переменных окружения будет прописан путь к тестируемому сценарию, и вам не придется лишний раз делать переходы по папкам.

Hello World – да, да, зачем ломать традиции. Наверно, автор каждой книги по программированию начинает свои примеры с это фразы… Можно даже составить целую подборку в стиле “Привет Мир на тысячи языках программирования”. Как не странно, но по этому запросу в выдаче Яндекса и правда большая часть сайтов посвященных программированию!

Для управления эхо-отображениями после echo в командной строке нужно прописать off (выключить эхо) или on (включить эхо). Теперь давайте перепишем предыдущий пример:

Хорошо, теперь последняя строка уже не отображается, но отображается первая, что не является показателем достигнутой цели, как это исправить, я покажу дальше, по ходу статьи.

Как уже упоминалось, утилита командной строи (cmd) echo позволяет выводить данные в файл, для это после нее нужно прописать оператор > (выводит данные в файл и полностью переписывает его содержимое) или >> (выводит данные в файл, и если он не пустой, дописывает данные в конец) и путь к файлу, или просто имя файла:

В данном случае, если запустить сценарий с этим кодом из консоли командной строки (cmd), то в самом окне cmd отобразится первая строка кода, а в файл hello.txt запишется строка Hello World.

Однако, можно включить или выключить вывод эхо-команд на экран в самом окне командной строки, а не только через сценарий. Для начала просто введите команду cmd echo в командной строке и нажмите ENTER, вам выведет сообщение о том, включен режим эхо или нет. Что бы отключить или включить режим эхо-вывода, используйте аналогичные команды с предыдущий примеров: on и off. Так, если вы выполните эхо off, то не будет отображаться даже путь к текущему каталогу, а если выполните команду cls (очистка экрана), то окажетесь перед черным экраном с мигающим курсором и только неизвестность из темноты будет всматриваться в ваши глаза

Читать еще:  Указания по безопасности

Для справки: что бы вывести на экран консоли пустую строку, нужно ввести команду эхо и сразу после нее прописать точку: “echo.”, межу командой и точкой не должно быть пробела.

Хорошо, теперь давайте рассмотрим cmd команду @, которая довольно часто используется на ровне с ЭХО. Данная команда предотвращает отображение эхо-команд для отдельной строки, то есть, команда @ фактически является аналогом echo off, только не для всего кода, а лишь для отельной строчки, в которой она собственно и фигурирует.

Давайте перепишем предыдущий пример:

Бинго, теперь после запуска сценария в окне командной строки cmd echo off не будет отображаться.

Или можно так прописать:

В данном случае мы не использовали команду echo off, зато прописали оператор cmd @ для каждой строки.

Можно даже попробовать в окне командной оболочки ввести @echo off на выполнение, в таком случае пропадет и приглашение командной строки.

По теме данной статьи можно провести аналогию с сервером сценариев Windows Script Host, в котором объект WScript.Shell использует аналогичную команду эхо для вывода данных. Так же, если мне память не изменять, функция эхо применяется в языке программирования php. Тот, кто пробовал свои силы в различных языках программирования с легкостью сможет провести между ними аналоги и найти общие точки.

Спасибо за внимание. Автор блога Владимир Баталий

Вывод сообщений и дублирование команд

Оператор проверки условия IF

Язык интерпретатора Cmd.exe. Командные файлы

Оболочка командной строки Windows. Интерпретатор Cmd.exe

Рассматриваются внутренние команды, поддерживаемые интерпретатором Cmd.exe, и наиболее часто используемые внешние команды (утилиты командной строки). Описываются механизмы перенаправления ввода/вывода, конвейеризации и условного выполнения команд. Даются примеры команд для работы с файловой системой

В ОС Windows, как и в других ОС, интерактивные (набираемые с клавиатуры и сразу же выполняемые) команды выполняются с помощью так называемого командного интерпретатора, иначе называемого командным процессором или оболочкой командной строки (command shell). Начиная с версии Windows NT, в операционной системе реализован интерпретатор команд Cmd.exe, обладающий гораздо более широкими возможностями.

Язык оболочки командной строки (shell language) в Windows реализован в виде командных (или пакетных) файлов. Командный файл в Windows — это обычный текстовый файл с расширением bat или cmd, в котором записаны допустимые команды ОС (как внешние, так и внутренние), а также некоторые дополнительные инструкции и ключевые слова, придающие командным файлам некоторое сходство с программами, написанными на языке программирования. Например, если записать в файл deltmp.bat следующие команды:

C:CD %TEMP%DEL /F *.tmp

и запустить его на выполнение (аналогично исполняемым файлам с расширением com или exe), то мы удалим все файлы во временной директории Windows. Таким образом, исполнение командного файла приводит к тому же результату, что и последовательный ввод записанных в нем команд. При этом не проводится никакой предварительной компиляции или проверки синтаксиса кода; если встречается строка с ошибочной командой, то она игнорируется. Очевидно, что если приходится часто выполнять одни и те же действия, то использование командных файлов может сэкономить много времени.

С помощью команды IF … ELSE (ключевое слово ELSE может отсутствовать) в пакетных файлах можно выполнять обработку условий нескольких типов. При этом если заданное после IF условие принимает истинное значение, система выполняет следующую за условием команду (или несколько команд, заключенных в круглые скобки), в противном случае выполняется команда (или несколько команд в скобках), следующие за ключевым словом ELSE.

По умолчанию команды пакетного файла перед исполнением выводятся на экран, что выглядит не очень эстетично. С помощью команды ECHO OFF можно отключить дублирование команд, идущих после нее (сама команда ECHO OFF при этом все же дублируется). Например,

REM Следующие две команды будут дублироваться на экране …:: эта строка – такой же комментарий, как и предыдущая DIR C:ECHO OFF:: А остальные уже не будутDIR D:

Для восстановления режима дублирования используется команда ECHO ON. Кроме этого, можно отключить дублирование любой отдельной строки в командном файле, написав в начале этой строки символ @, например:

ECHO ON:: Команда DIR C: дублируется на экранеDIR C::: А команда DIR D: — нет@DIR D:

Таким образом, если поставить в самое начало файла команду

то это решит все проблемы с дублированием команд.

В пакетном файле можно выводить на экран строки с сообщениями. Делается это с помощью команды

@ECHO OFFECHO Привет!Ввод значения переменной с клавиатурыВвод значения переменной при выполнении командного файла выполняется командой SET с ключом /P. Например, для ввода значения переменной M следует использовать командуSET /P M=[введите M]Текст подсказки [введите М] будет выведен на экран.

Ссылка на основную публикацию
Adblock
detector