Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Программирование в Cmd (введение для новичков) (https://forum.antichat.xyz/showthread.php?t=75636)

_Pantera_ 01.07.2008 23:39

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

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


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

PHP код:

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!!! Ярко-зелеными буквами на черном фоне :)

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

PHP код:

rem программа_2
cls
@echo off
color 0A
set a
=1
set timer
=10
if %a%==(shutdown /-%timer% -"Вас похекали"
) else (echo a!=1

Я думаю вы уже догадались что будет на выводе. Мы сравниваем значение записанное в переменную “а” с 1, если условие истина, то компьютер перезагрузиться через 10 секунд, в ином случае на вывод подается надпись, что a!=1. Пример банален и прост,
ну зато понятен для многих.

А теперь перейдем непосредственно к циклам. Рассмотрим самый элементарный пример:

PHP код:

rem программа_3
cls
@echo off
color 0A
for /%B in (0,1,10) do echo %

данная программа выведет в столбик цифры, от 0 до 10 с шагом 1 =) все просто, как ...
А теперь немного сложнее, for может использоваться в более весомых целях,
например для перебора файлов, для примера можете написать в cmd:

PHP код:

for %B in (C:\*.cmd) do (echo %B

В ответ вы получите все ваши программки с расширением *.cmd

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

PHP код:

for /%B in (C:\*) do echo %

Покажет все каталоги на диске С:\ (Обратите внимание, только каталоги, а не подкоталоги!)


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

PHP код:

(for /"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 usr\local\mysql4\bin
mysql
.exe -u root –p pass 

v – виртуальный диск на котором стоит денвер
root – имя пользователя
pass – пароль пользователя

Нам остается ее запустить и наслаждаться работой с базой

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

PPS в коде левый слэш кушаеться фильтрами форума...

desTiny 07.07.2008 10:56

даже на ачат статью выкладывали:
https://forum.antichat.ru/nextoldesttothread24430.html

flipper 07.07.2008 19:42

Программирование в cmd :)
/me Вспомнил, что теперь мелкософт озаботилась командной строкой и сделала кривой PowerShell - лучше бы его рассмотрел...

IIAHbI4 07.07.2008 19:51

Цитата:

Сообщение от %00
бесполезная статья тк мало раскрыта тема , только оператор for, если ты пишешь для новичков дак раскрой хотябы основы if else и т.д., всего 1 пример(я имею в виду более менее нормальный), если ты пишешь статью то пиши или полно или что то новое, ато мало и бесполезно, подобных убогих статей и за пределами античата достаточно
p.s. ничего личного

паскалем попахивает. школьники с 9 класса проходить начинают.

Only 13.07.2008 15:03

Цитата:

Сообщение от _Pantera_
PHP код:

for /%B in (C:\*) do echo %

PHP код:

(for /"tokens=1-5" %A in (users.txt) do @echo %D) > emails.txt 


Тема синтаксиса не раскрыта

Fen-Omen 13.07.2008 20:12

Данный синтаксис характерен для большинства языков программирования высокого уровня... Что же тут раскрывать-то.

Fen-Omen 13.07.2008 20:20

Не согласен... В целом это и есть "Программирование средствами cmd".

Only 13.07.2008 23:57

Цитата:

Сообщение от Fen-Omen
Данный синтаксис характерен для большинства языков программирования высокого уровня... Что же тут раскрывать-то.

Ну да,введение для новичков...Ведь все новички знают большонство языков программирования высокого уровня...

Взломщек 13.07.2008 23:59

написал и скомпелировал преватный вирус тс спс

De-visible 14.07.2008 00:06

Цитата:

Сообщение от Взломщек
написал и скомпелировал преватный вирус тс спс

Ты интересно какой именно из всех легенд Онтечада...
--------
Тс молодец, хоть и уровень начальный так сказать), для новичков как раз, хоть кто то еще пишет статьи...


Время: 00:28