Команды программирования командной строки

Batch script для начинающих

Мне 12 и я сам в этой теме плохо шарю, т.к. инфы в инете мало. Пж, без хейта.

Что такое батники и с чем их едят

Пакетный файл или в простонародье батник — это файл, который запускает командную сроку или сокращенно cmd, которая построчно интерпретирует команды, записанные в нем. Подробнее смотрите на https://ru.wikipedia.org/wiki/Пакетный_файл.

Первая программа и основные команды

Чтобы сделать батник, нужно сначала создать текстовый файл с именем test и изменить расширение c .txt на .bat. О том, как можно это сделать, читайте здесь: https://remontka.pro/file-extensions. У вас должен появиться файл с такой иконкой:

Нажимаем на него ПРАВОЙ кнопкой мыши. Должно появиться диалоговое окно. Нажмем «Открыть». Должен открыться блокнот, пишем:

@echo off echo Hello world! pause

В 1-ой сроке («@echo off») префикс ‘@ ‘ означает, что команда не будет выведена на экран(попробуйте его убрать 🙂 ), сама же команда (echo) выводит текст следующий за ней(см. строку 2), НО, если подать строку «off», все последующие команды будут действовать так, как будто перед ними стоит префикс ‘@’, «echo on», соответственно, выключает этот режим. Чтобы вывести символ «%», его нужно дублировать, потом поймете почему :-), для вывода пустой строки поставьте «.» после «echo»
В 3-ей строке команда выводит строку «press any key to continue . . .» (если у вас русский язык — «Для продолжения нажмите любую клавишу . . .») и останавливает программу до нажатия любой клавиши.

Читайте также:  Программирование bft ares 1000

не эта :)

не делает ничего и служит комментарием к коду

rem Это самая лучшая прога в мире. 

Код включает русские символы и другие из ascii(например: «╬▓☼», можно скопировать с http://pascalguru.ru/psevdograf.html), иначе ascii символы превратятся в кракозябры:

Следующий код код работает, как команда «pause», но ничего не выводит на экран и не реагирует на нажатие клавиш(я потом объясню, как это работает).

А этот — меняет заголовок окна на «name»

Заголовок окна

Эта команда меняет цвет фона и текста, вместо a и b можно поставить любые шестнадцатеричные цифры(команда не сработает если a = b) см. таблицу ниже. Запись c одной буквой «а» аналогично записи «0a»

Таблица

Эта — досрочно завершает программу

Переменные

Создать переменную можно с помощью команды set, синтаксис объявления следующий: P.S. это не совсем переменные, это скорее макросы (для тех к кто не знает C/C++ это именованный кусочек кода, имя которого заменяется на этот кусочек кода)

Если после «set» добавить флаг «/a» то:

    Переменной задастся значение выражения, а не его текст, например:

Чтобы обратиться к переменной, нужно окружить ее символами «%» (так %name%), пример кода:

Подробнее о переменных

Если добавить флаг «/p», то выводиться значение после символа » bash»>@echo off set /p a=Enter str echo %a% pause

следующий код вырезает строку от символа номер «a» до символа номер «b» НЕ включительно(счет идет с нуля, отрицательные числа — счет с конца от единицы). Если аргумент один, то он присваивается числу «b», а «a» = 0

следующий заменяет подстроки «a» в строке на строки «b»:

Циклы и условия

Цикл можно создать с помощью команды «for», синтаксис следующий:

(a b c) это список (не обязательно из 3-х элементов) и переменная %%i (нужно ставить символ после процентов, а не между) по очереди проходит по значениям в списке

Если добавить флаг «/l», то переменная в первый раз будет равна «a». К ней каждый раз будет прибавляться «b», пока она не станет больше «c»(тут размер ДОЛЖЕН равняться 3)

запустите этот код, тут все наглядно

@echo off chcp 65001 echo Начало for /l %%i in (1 1 10) do echo %%i echo Конец pause

Команда if выполняет код, если условие верно (или если поставить not после if, когда НЕ верно), вот операторы сравнения:

P.S. строки нужно брать в кавычки «%str%»==»Hello»

Источник

Программирование в Cmd введение для новичков

21:33 14-11-2008 alexeykursk

Это всего лишь введение в команды cmd, не судите строго, статья писалась для Новиков, та и многим другим я думаю пригодиться =)
Наверно многие и не подозревают, что cmd это универсальная оболочка,
которая позволяет не просто администрировать систему, но и программировать!
Конечно уровень языка не столь высок, как например с , но все же.

Для начала, напишем маленькую программку, которая будет выводить строчку, записанную в переменную.
Заходим на диск С:\ и создаем там что то типа program_1.cmd (можно *.bat)
открываем его блокнотом и вписываем туда следующие строки:

rem программа_1
cls
@echo off
color 0A
set string=Hellow World.
echo %string%

rem — используеться для описния коментариев
cls — если кто еще незнает, это отчистка экрана
@echo off — выключаем отображение команд на экране. Обратите внимание на @
перед ECHO! Она предотвращает эхо-отображения команд в отдельной строке.
color 0A — задаем цвет фона и текста
set string=Hellow World. — set используется для описания переменных
echo %string% — вывод на экран переменной, обратите внимание на %%, это
обозначает, что это действительно переменная, а не строка!
С кодом разобрались, теперь посмотрим на исход программы! Запускаем ее на выполнение через cmd:
program_1.cmd
Результат выполнения будет, как вы догадались Hellow World. Ярко-зелеными буквами на черном фоне

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

rem программа_2
cls
@echo off
color 0A
set a=1
set timer=10
if %a%==1 (shutdown /r -t %timer% -c «Вас похекали»
) else (echo a!=1)
Я думаю вы уже догадались что будет на выводе. Мы сравниваем значение записанное в переменную “а” с 1, если условие истина, то компьютер перезагрузиться через 10 секунд, в ином случае на вывод подается надпись, что a!=1. Пример банален и прост,
ну зато понятен для многих.

А теперь перейдем непосредственно к циклам. Рассмотрим самый элементарный пример:
rem программа_3
cls
@echo off
color 0A
for /l %B in (0,1,10) do echo %B
данная программа выведет в столбик цифры, от 0 до 10 с шагом 1 =) все просто, как .
А теперь немного сложнее, for может использоваться в более весомых целях,
например для перебора файлов, для примера можете написать в cmd:

for %B in (C:*.cmd) do (echo %B)
В ответ вы получите все ваши программки с расширением *.cmd

Также циклом for можно перебрать каталоги, к примеру

for /d %B in (C:*) do echo %B
Покажет все каталоги на диске С:\ (Обратите внимание, только каталоги, а не подкоталоги!)
А теперь напишем существенную программу, которая будет из базы выбирать емейлы и записывать их в другой файл.

(for /f «tokens=1-5» %A in (users.txt) do @echo %D) > emails.txt
К примеру, база у нас «идеальная», типа:

Vasya Pupkin heck 111@mail.ru 81231111111
Dima Ivanov lamer 222@mail.ru 81232222222
Genya Petrov lamer 333@mail.ru 81233333333
Egor Sidorov lamer 444@mail.ru 81234444444
Anton Popovich lamer 555@mail.ru 81235555555
Kostya Terentev lamer 666@mail.ru 81236666666
Vanya Onisenko lamer 777@mail.ru 81237777777
Misha Loshenko lamer 888@mail.ru 81238888888
Vlad Sorochinskiy lamer 999@mail.ru 81239999999
Мы с помощью цикла перебираем все слова, и записываем 4(%D) в файл emails.txt =)

Что же еще можно сделать с cmd?

Опишу свой пример. Я занимаюсь созданием веб-сайтов, которые используют базу данных mysql. С базой я работаю через консоль, для меня привычнее. Что б не париться я написал небольшую программку mysql.cmd которая к ней будет подключаться:

PHP код:
v:
cd usrlocalmysql4bin
mysql.exe -u root –p pass
v – виртуальный диск на котором стоит денвер
root – имя пользователя
pass – пароль пользователя

Нам остается ее запустить и наслаждаться работой с базой
PS Ну вот собственно и все! Статья получилось маленькой, но я все же надеюсь, что она кому то будет полена =)

Источник

Оцените статью