категории | RSS

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


Это всего лишь введение в команды 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 Ну вот собственно и все! Статья получилось маленькой, но я все же надеюсь, что она кому то будет полена =)

alexeykursk
2008-11-14T21:33:19Z
Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 5

#5   greg2000...8    

а как через консоль убить процесс?


0 ответить

#5   aka_SmILe    

жесть.
кодинг в виндах шо то из области изврата))
но познавательно.


0 ответить

#5   brux    

В справке Windows


0 ответить

#5   Akdmeh    

Хорошая статья.
Где можно узнать о коммандах по-подробнее?


0 ответить

Яндекс.Метрика