Программирование в 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 [email protected] 81231111111
Dima Ivanov lamer [email protected] 81232222222
Genya Petrov lamer [email protected] 81233333333
Egor Sidorov lamer [email protected] 81234444444
Anton Popovich lamer [email protected] 81235555555
Kostya Terentev lamer [email protected] 81236666666
Vanya Onisenko lamer [email protected] 81237777777
Misha Loshenko lamer [email protected] 81238888888
Vlad Sorochinskiy lamer [email protected] 81239999999

Мы с помощью цикла перебираем все слова, и записываем 4(%D) в файл emails.txt =)

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

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

PHP код:
v:
cd usrlocalmysql4bin
mysql.exe -u root –p pass

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

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

Если вам когда-нибудь понадобиться получить список всех файлов, то вы обнаружите пренеприятнейшую новость. Интерфейс проводника Windows не позволяет вам это сделать в простой и понятной форме. И вроде бы задача до безумия проста, и вроде перед глазами все необходимые файлы, но... Однако, это можно очень просто сделать с помощью командной строки (cmd). Кроме того, командная строка позволит вам отфильтровать только необходимые файлы, например, только mp3. В данном случае мы будем использовать специальную команду "dir". Скорее всего, опытным пользователям это команда хорошо знакома, поэтому статья будет для них не интересной. Но, для большинства обычных пользователей она окажется весьма полезной.

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

Если вам кажется, что это никогда вам в жизни не пригодится, то вы ошибаетесь. Практически каждый пользователь каждый день в неявном виде использует списки файлов. Это и поиск необходимого документа среди всех ваших документов. Это музыка. Это фотографии. Это различный экспорт файлов в ваших приложениях. Банально, тот же плей лист. Просто вы никогда не сталкивались с такими простыми задачами, как "передать список файлов, например, в техподдержку", "коллективно выбрать необходимую вам музыку из всего списка" (причем обычно это делается на бумаге, да существует огромное количество "модных девайсов", но они никогда не заменят такие простые вещи, как бумагу и карандаш), "загрузить список в новое приложение" (далеко не во всех приложениях качественно реализован импорт), "использование для технических нужд тех же консольных приложений" (например, различная пакетная обработка файлов; конечно, рядовой пользователь никогда не будет этого делать, но...) и многое многое другое.

Выводим список файлов папки и ее подпапках на экран командной строки

  • Откройте командную строку в необходимой папке ()
  • Введите "dir" (без кавычек) и нажмите Enter. Вы получите список файлов (см. картинку)
  • Если вам необходимо перечислить файлы во всех вложенных папках, то вместо "dir" используйте "dir /s" (вводить без кавычек)

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

Создаем текстовый файл со списком файлов в командной строке

  • Откройте командную строку в необходимой папке.
  • Введите "dir > listmyfolder.txt" (без кавычек) и нажмите Enter. Весь список сохранится в файле "listmyfolder.txt".
  • Если вам необходимо так же сохранить файлы и из всех вложенных каталогов, то используйте команду "dir /s > listmyfolder.txt" (без кавычек)

Файл "listmyfolder.txt" будет создан в той же папке, в которой вы находитесь. Небольшой уточнение по поводу файла, вы можете называть его как вам будет угодно, задавать ему абсолютно любое расширение. Каких-то специальных ограничений нет, кроме тех, что требует система Windows к названиям файлов. Так же вы можете использовать полные пути, для сохранения списка в другом каталоге. Например, вы хотите сохранить файл на диске "F:" в каталоге "list". Для этого вам необходимо будет использовать такую команду "dir > F:\list\listmyfolder.txt" (без кавычек). Как видите ничего сложно нет.

Создаем текстовый файл со списком файлов определенного расширения в командной строке

Далеко не всегда вам необходимо получить все файлы в каталоге. Например, вы хотите получить только список фотографий или только музыки. Согласитесь, что вручную изменять полный список файлов - скучная и рутинная задача. Чтобы облегчить всем жизнь, командная строка поддерживает специальный символ *, с помощью которого можно составить так называемые регулярные выражения (порой их называют маской). Не стоит пугаться страшных слов, никаких сложных конструкций в варианте "/d+?[\.2345]?d+[\.]?mp3/$" вы не встретите. Далее мы приведем простые примеры, как вы можете получить списки всех ваших mp3 и jpg файлов, т.е. музыки и фотографий.

Получение всех mp3 файлов в папке и во всех вложенных папках из командной строки

  • dir /s *.mp3 > listmp3.txt

В файле "listmp3.txt" будет список всех ваших MP3-файлов.

Получение всех фотографий в формате JPEG в папке и во всех вложенных папках из командной строки

Теперь команда выглядит следующим образом:

  • dir /s *.jpg > listjpg.txt

В файле "listjpg.txt" будет список всех ваших фотографий в формате JPEG.

Получение простого формата списка из командной строки

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

  • dir /s /b *.jpg > listjpg.txt

Если вам интересно, то есть много других полезных команд. Чтобы узнать полный список команд, вам необходимо ввести команду "help". Конечно, краткое описание команды вряд ли поможет вам представить, как можно использовать команду. Поэтому существует специальный параметр "/?". Если вы его введете сразу после команды, то в окне консоли появится небольшой мануал по использованию команды и ее параметров.

Предупреждение : Если вы не сильно разбираетесь в том, что именно делает команда, то настоятельно вам рекомендуем сперва прочитать о ее применении, хотя бы в поисковике. Неаккуратное и неправильное использование команд может привести к неприятным последствиям. Конечно, можно использовать образы диска перед тестами, но, согласитесь, что это сильно накладно.


  • Как открыть командную строку в Windows 7 / Vista от имени администратора?

Технические советы

  • Приветствую, дорогие друзья, знакомые и прочие личности. Сегодня мы поговорим о такой полезной штуке, как консольные команды, а также о работе с командной строкой вообще.

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

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

    Базовые консольные команды. Что к чему и почему. Вводная

    Собственно, эта штука является одним из ключевых элементов по управлению системой не смотря на то, что ОС давно уже перешли на графический интерфейс. Не знать о консоли и не уметь владеть хотя бы базовыми её основами - это плохо, а уж будучи IT -шником не иметь знаний об элементарных вещах так вообще..

    Чтобы запустить командную строку, нажмите сочетание клавиш Win+R и в появившемся окне «Выполнить » введите cmd . Сама утилита командной строки лежит обычно в папке C:\Windows\System32\cmd.exe .

    Вот так по умолчанию выглядит командная строка Windows . Как видите, все достаточно аскетично. Если захочется более симпатичного вида, щелкните правой кнопкой мыши по заголовку окна и выберите пункт «Свойства », вкладка «Цвета », на которой вы можете выбрать цвет шрифта и фона.

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

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

    • F1 – при каждом нажатии на клавишу по буквам вводит последнюю команду;
    • F3 – выводит последнюю команду;
    • F5 – при каждом нажатии выводит предыдущую команду;
    • F7 – выводит пронумерованный список команд (по умолчанию сохраняются 50 последних команд).

    А теперь давайте разберемся с некоторыми командами подробнее.

    Команда dir
    Отображает содержимое текущего каталога. Если же вам необходимо просмотреть содержимое другого каталога, придется указать консоли путь, например: dir (пробел) C:\, и нажать Enter .

    Команда cd
    Позволяет менять текущий каталог. Напомню, что каталог, в котором Вы в данный момент находитесь, указан здесь:

    Хотите знать и уметь, больше и сами?

    Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

    Чтобы сменить текущий каталог наберите: cd (пробел) C:\Имя папки и нажмите Enter .

    Примечания:

    • Если вы хотите открыть новый каталог на том же диске, где находится текущий, то диск прописывать не обязательно, достаточно просто указать имя нужного каталога.
    • Для того, чтобы с помощью команды cd перейти на другой диск, необходимо добавить вот такой параметр (иногда его называют флагом) /D , то есть команда для перехода на другой диск будет выглядеть так:
      cd /D D:\

    Команда mkdir
    Позволяет создавать новые папки с тем название, которое вы зададите.

    По умолчанию команда mkdir создает папки в текущем каталоге. Если же нужно создать папку в другом каталоге, пропишите это, например:

    С помощью этой же команды можно создать сразу древо каталогов.

    Команда rmdir
    Служит для удаления каталогов. Примерно вот так:

    Примечание : по умолчанию команда rmdir удаляет только пустые каталоги. Если с ее помощью Вы попробуете удалить папку с содержимым, то увидите такое сообщение:

    Чтобы удалить непустую папку, к команде rmdir нужно добавить параметр /S. Вот так:

    Не забудьте подтвердить удаление, нажав на клавиши «Y » и Enter .

    Команда shutdown
    Думаю, что из названия понятно, что эта команда позволяет выключать компьютер. Предвижу вполне закономерный вопрос – а зачем выключать компьютер с помощью командной строки, когда гораздо проще выключить его через главное меню Windows . Но представьте, например, что вам нужно уходить, а компьютер еще выполняет какую-то задачу, которую прерывать нежелательно, но компьютер, тем не менее, должен быть выключен. Вот в этом случае команда shutdown незаменима.

    Итак, наберите в командной строке:

    shutdown (пробел) –s

    В этом случае компьютер просто выключится. Если же вам нужно отложенное выключение компьютера, наберите:

    shutdown (пробел) –s (пробел) –t (пробел) время в секундах , через которое должен выключиться компьютер:

    Как только вы нажмете Enter , начнется обратный отсчет времени, которое осталось до выключения компьютера. В XP это выглядит так:

    В Windows 7 :

    Если же вы передумали выключать компьютер, остановить обратный отсчет можно, добавив параметр –a к команде shutdown . Вот так:

    И обратный отчет будет отключен.

    Команда systeminfo
    Выдает подробную информацию о конфигурации системы, сведения о версии, типе, процессоре, версии BIOS , объеме памяти и т.д. Вот так:

    z

    Команда driverquery
    Выводит список всех установленных драйверов устройств и их свойства. Если добавить к команде параметр /V , помимо списка драйверов будет выведен и их статус.

    Команда cls

    Когда окно командной строки заполняется различным текстом и в нем становится трудно работать, команда cls позволяет очистить экран.

    Команда msconfig
    Вызывает службу "Конфигурация системы Windows ".

    Думаю, что для многих она будет не нова.

    Команда regedit
    Открывает утилиту, с помощью которой можно редактировать системный реестр Windows .

    Команда chkdsk
    Предназначается . Если команда используется без дополнительных параметров, то на экран выводится отчет о состоянии текущего диска.

    Вот некоторые параметры команды, которые могут пригодиться при проверке дисков:

    • /f – задает исправление ошибок на диске. Чтобы проверка началась, диск должен быть заблокирован. Если диск не заблокирован, появится запрос на проверку диска при следующей перезагрузке компьютера.
    • /v – позволяет вывести на экран имена проверяемых файлов и каталогов;
    • /r – позволяет обнаружить поврежденные сектора диска и восстанавливает ту часть данных, которая еще может быть прочитана.

    Команда format
    С помощью этой команды можно отформатировать жесткий диск. Сейчас выполнять не рекомендую:) Синтаксис:

    format (пробел) С: Enter.

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

    • /fs определяет файловую систему при форматировании диска;
    • /v позволяет задать метку тома;
    • /a позволяет задать размер кластера. Если этот параметр не задан, то кластер будет определен автоматически исходя из размера диска.

    Это так, суровый минимум:)

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

    Команда netstat
    Отображает активные подключения TCP , порты, прослушиваемые компьютером, статистику Ethernet , таблицы маршрутизации IP , статистику IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6 , ICMPv6 , TCP через IPv6 и UDP через IPv6 ). Если запустить команду без параметров, то отобразятся только подключения TCP .

    Команда tasklist
    Запускает утилиту командной строки, которая выводит список всех запущенных системой процессов с PID -кодом и размером занимаемой оперативной памяти. Если команду запустить без дополнительных параметров, выводится список процессов текущего компьютера.

    Для того, чтобы увидеть список процессов удаленного компьютера служит параметр /s с указанием IP-адреса или доменного имени компьютера.

    Команда taskkill
    В противоположность предыдущей команде, эта предназначается для остановки процесса в локальной или удаленной системе. Процесс можно остановить по его идентификатору. Для этого используйте параметр /pid . Например, вот так:

    taskkill (пробел) /pid (пробел) 3148 Enter

    Кроме этого, процесс можно остановить по имени образа с помощью добавления параметра /im . Вот так:

    taskkill (пробел) /im (пробел) AnVir.exe Enter

    Далее.

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

    • /scannow - немедленная проверка всех защищённых системных файлов;
    • /scanonce - проверка защищённых системных файлов при следующей загрузке системы;
    • /scanboot – проверка всех защищённых системных файлов при каждой загрузке системы;

    Послесловие

    В этом материале представлен миниумный минимум для работы с консолью. В последующих статьях, возможно, будет чего-то побольше из интересных и полезных команд. Впрочем, Вы можете сами некоторые из них изучить, введя в консоли команду help , после чего, выбрав интересную Вам команду, ввести HELP <имя команды> , дабы узнать о её синтаксисе и прочих составляющих:

    Как и всегда, если есть какие-то вопросы, дополнения, благодарности и всё такое прочее - пишите в комментариях.

    Помните, что Вы - лучше!
    А значит всё будет хорошо.
    Оставайтесь с нами.

    PS: За существование оной статьи отдельное спасибо другу проекта и члену нашей команды под ником “Rosomaha“.

    Командная строка представляет собой программное средство ввода команд пользователем и получения результатов их выполнения на экране. В современных операционных системах семейства Windows, командную строку обеспечивает стандартное приложение cmd.exe , так же называемое командным процессором, интерпретатором команд и консолью. Приложение ”Командная строка” предоставляет пользователю текстовый интерфейс для ввода команд и получения результатов их выполнения. Фактически, командная строка является программным эмулятором классической консоли первых компьютерных систем, представляющей собой терминал с клавиатурой, используемый оператором в качестве средства общения с компьютером. Как и во времена первых компьютеров, командная строка поддерживает стандартное устройство ввода – клавиатуру, и стандартное устройство вывода – дисплей. Пользователь вводит команды с клавиатуры и получает результаты их выполнения на экране дисплея.

    Запуск командной строки.

    Для запуска командной строки можно воспользоваться одним из следующих способов:

    Пуск - Выполнить (или клавиши Win+R) введите cmd и нажмите клавишу Enter;

    Пуск - Все программы - Стандартные - Командная строка»;

    Пуск - Поиск - Командная строка . Также, для запуска командной строки можно использовать заранее подготовленный ярлык, ссылающийся на исполняемый файл %SystemRoot%\system32\cmd.exe (обычно – C:\Windows\system32\cmd.exe). Выполнение некоторых команд требует повышенных привилегий, поэтому, приложение командной строки должно быть запущено с использованием пункта контекстного меню ”Запуск от имени администратора”, вызываемого правой кнопкой мышки.

    Настройка командной строки.

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

    Работа в командной строке предполагает ввод данных с клавиатуры, при чем, иногда довольно большого объема. Этот объем можно значительно сократить, используя некоторые приемы:

    Использование буфера обмена.

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

    В режиме выделения мышью, контекстное меню не используется, а текст выделяется с использованием левой кнопки мышки. Копирование и вставка выполняется при нажатии правой кнопки мышки. При включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш:

    CTRL+C (CTRL+Insert) – скопировать выделенный текст.

    CTRL+V (Shift+Insert) – вставить выделенный текст.

    Использование истории команд и горячих клавиш.

    Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх - на одну команду назад и Стрелка Вниз - на одну команду вперед. Кроме того, можно использовать функциональные клавиши:

    F1 - посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.

    F2 - копирование до символа. После нажатия на F2 на экране отображается запрос символа, до которого будет скопирована предыдущая команда. Например, если предыдущая команда была ping yandex.ru , и в качестве символа задана точка, то в строку ввода команды будет занесено ping yandex , если задан пробел, то - ping .

    F3 - вызов предыдущей команды.

    F4 - удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.

    F5 и F8 - вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.

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

    F9 - выполнить команду, номер которой запрашивается. Номер команды в списке истории можно получить при использовании F7 .

    В Windows 10 / Windows Server 2016 появились возможности, отсутствующие в предыдущих реализациях командной строки:

    Изменение прозрачности окна консоли при нажатии комбинаций CTRL +Shift +- или CTRL +Shift ++ .

    Включение / выключение полноэкранного режима при нажатии CTRL+Enter .

    Расширение возможностей выделения текста и редактирования:

    Shift+Home – выделить текст от текущего положения курсора до начала строки.

    Shift+End – выделить текст от текущего положения курсора до конца строки.

    Быстрое перемещение по буферу экрана и поиск по контексту:

    CTRL+Home – перейти в начало буфера экрана

    CTRL+End – перейти в конец буфера экрана.

    CTRL+Стрелка Вверх - перемещение на 1 строку вверх.

    CTRL+Стрелка Вниз - перемещение на 1 строку вниз.

    CTRL+F - открыть диалог поиска текста в буфере экрана.

    Окно командной строки в Windows 10 можно закрыть с помощию стандартной комбинации клавиш - ALT+F4 .

    Для отключения новых возможностей CMD, необходимо в свойствах приложения установить галочку ”Использовать прежнюю версию консоли (требуется перезапуск)”

    Автодополнение путей файлов

    В командной строке Windows можно выполнять подстановку имен файлов и каталогов при нажатии клавиши Tab . Например, для перехода, в каталог с длинным именем Program Files наберите начальную часть имени каталога

    CD Pro и нажмите Tab . В строке ввода должна появиться команда:

    CD "Program Files"

    Как видим, выполняется подстановка недостающей части имени каталога, а в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.

    Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее - используется комбинация Shift+Tab

    Перенаправление данных стандартного ввода /вывода консоли.

    Как уже упоминалось, в качестве стандартного устройства ввода командной строки используется клавиатура, а в качестве устройства вывода – дисплей. Однако, существует возможность перенаправления ввода-вывода на другие устройства c использованием операторов перенаправления:

  • > - перенаправление вывода. Выходные данные записываются в файл или передаются на указанное устройство.

    ping –n 5 localhost > nul - выполнить пинг петлевого интерфейса 5 раз с перенаправлением вывода в фиктивное устройство nul . Вывод результатов выполнения команды подавляется. Подобный прием используется для организации задержки в командных файлах, поскольку пинг петлевого интерфейса выполняется почти мгновенно, а интервал между пингами равен одной секунде, время выполнения данной команды определяется значением параметра -n

    ping –n 100 yandex.ru > C:\ping-ya.txt - выполнить 100 раз пинг узла yandex.ru c записью результатов выполнения команды в файл C:\ping-ya.txt. Если файл не существует, он будет создан, а если существует, его содержимое будет затерто.

  • >> - то же, что и в предыдущем случае, но данные записываются в конец файла.

    ping –n 100 yandex.ru >> C:\ping-ya.txt - то же, что и в предыдущем примере, но, если файл не существует, то он будет создан, а если существует, то запись результатов будет выполняться в конец файла.

  • - перенаправление ввода. Данные считываются не с клавиатуры, а из файла или другого устройства.

    cmd - запустить командный процессор CMD и выполнить ввод данных из файла 1.txt. Если в файле поместить строку ping –n 100 yandex.ru , то выполнится команда, рассмотренная выше.

  • | - вывод первой команды перенаправить на вход следующей за ней.

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

    ping -n 100 microsoft.com | find "Превышен интервал" - результат выполнения команды ping -n 100 microsoft.com передается в виде входных данных для команды поиска строк (find ), содержащих текст "Превышен интервал".

    ping -n 100 microsoft.com | find "Превышен интервал" > C:\ping-ya.txt - то же, что и в предыдущем примере, но с перенаправлением выводимых результатов выполнения команды в текстовый файл.

  • Использование дескрипторов ввода-вывода консоли.

    Каждому открытому файлу или устройству соответствует свой дескриптор (handle ) который представляет собой неотрицательное число, значение которого используется породившим поток ввода-вывода процессом. По умолчанию, для всех процессов, в том числе и для командного интерпретатора cmd.exe :

    0 (STDIN) – дескриптор стандартного ввода (ввод с клавиатуры).

    1 (STDOUT) – дескриптор стандартного вывода (вывод на экран).

    2 (STDERR) – дескриптор вывода диагностических сообщений (сообщений об ошибках на экран).

    Дескрипторы можно использовать в тех случаях, когда требуется перенаправить (изменить) источники и приемники данных в стандартных потоках ввода-вывода. Например:

    ping.exe –n 100 yandex.ru 2> C:\pinglog.txt - стандартный поток сообщений программы ping.exe будет выводиться на экран, а ошибки (стандартный вывод с дескриптором = 2) будут записаны в файл C:\pinglog.txt . В реальном случае для программы ping.exe приведенная конструкция значения не имеет, поскольку она выводит и диагностику, и результаты на экран.

    Для задания перенаправления в существующие дескрипторы используется амперсанд (&), затем номер требуемого дескриптора (например, &1):

    ping –n 100 yandex.ru >log.txt 2>&1 - стандартный поток сообщений об ошибках (дескриптор=2) перенаправляется в стандартный поток вывода (дескриптор = 1) и все это перенаправляется в файл log.txt текущего каталога.

    ping –n 100 yandex.ru >log.txt 1>&2 - стандартный вывод (дескриптор = 1) перенаправляется в вывод сообщений об ошибках (дескриптор=2) и все это записывается в текстовый файл.

    Если дескриптор не определен, то по умолчанию оператором перенаправления ввода будет ноль (0), а оператором перенаправления вывода > будет единица.

    Объединение нескольких команд в цепочку

    В командной строке Windows существует возможность последовательного выполнения нескольких команд в зависимости от результатов их выполнения. Для чего используются символы объединения команд - & (амперсанд) и | (вертикальная черта)

    & - одиночный амперсанд используется для разделения нескольких команд в одной командной строке. Например:

    echo ping ya.ru - вывод на экран строки ping ya.ru

    echo &ping ya.ru - последовательное выполнение команды echo без параметров и команды ping ya.ru

    && - условное выполнение второй команды. Она будет выполнена, если код завершения (значение которого передается в стандартную переменную ERRORLEVEL) первой команды равен нулю, т.е. команда выполнена успешно.

    команда1 && команда2 - выполняется команда1 , а команда2 выполняется, только если первая была выполнена успешно. Например:

    ping ya.ru -err & ping –n 2 ya.ru - при использовании единичного амперсанда, первая команда ping ya.ru –err -err , а вторая, ping –n 2 ya.ru выполнит двукратный пинг узла ya.ru

    ping ya.ru -err && ping –n 2 ya.ru - при использовании двойного амперсанда, первая команда ping ya.ru –err выдаст сообщение о неверном параметре -err и соответственно, сформирует код завершения не равный нулю (ошибка), что приведет к тому, что вторая команда ( ping ya.ru -n 2 ) выполнена не будет.

    Двойная вертикальная черта || - условное выполнение второй команды. Если первая команда завершилась с кодом возврата не равным нулю (неуспешно), то выполняется команда, следующая за двойной вертикальной чертой.

    команда1 || команда2 - если команда1 выполнена неуспешно, то запускается на выполнение команда2

    ping –n 1 ya.ru && ping –n2 ya.ru || ping –n 3 ya.ru - сначала выполнится 1-я команда ping ya.ru –n 1 - однократный пинг узла ya.ru , затем выполнится команда ping ya.ru -n 2 - двукратный пинг узла ya.ru . Третья команда ping ya.ru -n 3 , трехкратный пинг узла ya.ru выполнена не будет.

    ping –n 1 –err ya.ru && ping ya.ru -n 2 || ping ya.ru -n 3 - первая команда ping ya.ru –n 1 –err выполнится с ошибкой из-за неверного параметра -err , вторая команда ping –n 2 ya.ru - двукратный пинг узла ya.ru не будет выполнена из-за условия двойного амперсанда, и в результате выполнится третья команда ping –n 3 ya.ru , трехкратный пинг узла ya.ru .

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

    ECHO

    То вместо текста ping -n 1 ya.ru & ping -n 2 ya.ru будет выведена его часть до символа амперсанда ping -n 1 ya.ru и затем выполнена команда после амперсанда - ping -n 2 ya.ru . Проблему решает использование специального экранирующего символа ^ , который позволяет использовать служебные символы как текст:

    ECHO ping -n 1 ya.ru ^& ping -n 2 ya.ru - вывод на экран текста ping -n 1 ya.ru & ping -n 2 ya.ru

    Логика условной обработки команд, реализуемая с помощью конструкций && и || действует только на ближайшую команду, то есть, при вводе команды

    Команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt . Но, несколько команд можно сгруппировать с помощью скобок. Например, есть 2 командные строки:

    TYPE C:\plan.txt && DIR & COPY /?

    TYPE C:\plan.txt && (DIR & COPY /?)

    В первой из них символ условной обработки && действует только на команду DIR, во второй - одновременно на две команды: DIR и COPY. В качестве наглядного эксперимента, попробуйте выполнить вторую команду при условиях наличия и отсутствия файла C:\plan.txt . Для создания пустого файла можно воспользоваться копированием из фиктивного устройства nul :

    copy nul C:\plan.txt

    Для удаления файла используется команда erase c:\plan.txt или del C:\plan.txt

    Командные файлы

    Командные файлы (сценарии, скрипты) – это обычные текстовые файлы с заранее подготовленным набором команд для их выполнения командным процессором cmd.exe . Стандартно, такие файлы имеют расширение .bat или .cmd . Строки командных файлов могут содержать специфические команды самого процессора команд, например - FOR, ECHO, REM и т.п. или имена исполняемых модулей – reg.exe, sc.exe, auditpol.exe., которые можно использовать без расширения – reg, sc, auditpol. Пример простого командного файла:

    REM Создается текстовый файл со списком каталога Windows
    dir C:\Windows > %TEMP%\winlist.txt
    REM выполняется задержка на 5 секунд
    ping -n 5 localhost > nul
    REM Файл открывается в редакторе WordPad
    write %TEMP%\winlist.txt
    REM После завершения работы Wordpad, текстовый файл удаляется.
    erase C:\winlist.txt

    Строки, начинающиеся с REM являются комментариями. В качестве примера, используются команды для работы с файловой системой и выполняется запуск приложения графической среды – текстового редактора Wordpad (write.exe) с передачей ему параметра командной строки (имя файла). Язык командных файлов довольно примитивен и не в полной мере соответствует требованиям сегодняшнего дня, однако, он является самым простым средством автоматизации рутинных действий и используется большинством системных администраторов и грамотных пользователей. Работа с командными файлами – это отдельная тема, более подробно изложенная на странице

  • Windows для общения с компьютером на понятном ему языке. Однако по-прежнему запуск программ осуществляется с помощью обычной командной строки (консоли). Она является родоначальником интерфейса и средством общения пользователя и ПК. Суть работы заключается в том, что команды вводятся в строку с помощью клавиатуры. Этот метод управления часто используют системные администраторы. Обычные пользователи также должны знать основные команды.

    Консоль - что это?

    Запуск программ Windows осуществляется с помощью консоли - командной строки. Это один из видов текстового интерфейса, который стал доступен многим пользователям ОС MS DOS. Вводятся команды в командную строку в ручном режиме. Многие считают консоль устаревшим способом управления, необходимость в котором часто возникает у пользователей и системных специалистов. Командная строка представляет собой черное окно с зеленой надписью расположения и мигающим курсором. В указанное место вводится соответствующая команда для компьютера.

    Командная строка - невероятно удобное окно для решения множества проблем. Однако для взаимодействия с консолью потребуются знания написания команд. Плюс в том, что они сокращают время выполнения сложных действий. Для этого достаточно ввести в строку нужную задачу.

    Зачем нужны команды?

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

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

    Как запустить?

    Команды для командной строки Windows запускаются без особых трудностей. Несмотря на графический интерфейс, консоль всегда была и есть главный элемент управления компьютером. Основы работы с консолью пригодятся обычному пользователю. Для запуска командной строки откройте меню: «Пуск» - «Выполнить». Впишите в появившемся окне слово «Cmd», нажмите «Enter». Если в версии операционной системы нет пункта «Выполнить», то сочетание «Win+R».

    В Windows 7 нажмите правой кнопкой мыши на «Пуск», перейдите в «Свойства» - «Настроить», поставьте галочку возле «Выполнить». Если нужно открыть консоль от имени администратора, впишите в строке поиска «Пуск» команду «Cmd», нажмите правой кнопкой на программе «Cmd», выберите «Запуск от имени администратора». На рабочем столе удобно создать ярлык, который будет открывать консоль. Внешний вид окна строки можно изменять по желанию пользователя (цвет, шрифт, расположение).

    Иногда могут возникнуть проблемы с копированием и вставкой текста в командную строку. В случае с консолью кнопки буфера обмена не работают. Если нужно сделать копию, нажмите правой кнопкой мыши по окну, выберите "Пометить", выделите текст левой кнопкой мышки, а затем кликните правой. Для того чтобы вставить текст или надпись, нажмите правой кнопкой мыши в окне командной строки "Вставить". Кроме того, работать с консолью можно "горячими" клавишами на клавиатуре, стрелками "вверх/вниз".

    Основные

    Главные команды для командной строки помогают пользователю решать задачи первостепенной важности в короткие сроки.

    Дополнительные

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

    • Команда «Format» удаляет данные с винчестера, готовит его для копирования. Как пример команды форматирования: «FORMAT диск:/FS:FAT (файловая система)».
    • «FC» команда сравнивает файлы друг с другом.
    • «IPCONFIG» - показывает полную информацию о настройках Сети, а также сообщает о типе сетевого соединения «IPCONFIG/ALL».
    • Команда «PING» проверит доступность сайта. Пример: «PING fb.ru». Наличие цифр в ответе свидетельствует о том, что все в порядке, сайт доступен для посещения.

    Команды для Сети

    Команды командной строки для Сети позволяют эффективно работать в Интернете, исправлять ошибки и настраивать параметры. Если необходимо узнать свой IP-адрес, введите в консоли команду «Ipconfig». В разных вариациях подключения к Интернету можно узнать полную информацию о Сети. После ввода пользователь получит список сетевых подключений, которые используются компьютером. Если компьютер пользователя подключен к Интернету через беспроводную связь Wi-Fi, главный шлюз будет выбран для связи с роутером. В его настройки пользователь может зайти через команду, введенную в консоль. Если компьютер подключен к локальной сети, узнать об IP-адресе можно через командную строку с соответствующим запросом.

    С помощью команд «Ping» и «Tracert» пользователь быстро найдет и устранит проблемы в работе Интернета и браузера. Команда «Netstat-an» отображает сетевые подключения и порты. Это очень полезная программа, ведь она отображает различную сетевую статистику. Ключ «-an» открывает список доступных сетевых подключений, портов и IP-адресов. Команда «Telnet» подключает к одноименным серверам. Если необходимо получить сведения о сетевых настройках, воспользуйтесь командой «Ipconfig». Без дополнительных параметров, команда отображает информацию об IP-адресе. Если нужны конкретные сведения дополните команду «All». Введенная в строку «Ipconfig/flushdns» - очищает кэш в Windows.

    Фильтры

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

    • «More» - отображает содержимое файла;
    • «Find» - ищет указанные символы;
    • «Sort» - сортирует файлы по алфавиту.

    Для того чтобы направить данные из файла используется символ «L», для направления на выход канал «I».

    Выключение

    Кроме встроенных CMD, консоль используют для запуска обычных программ. Для того чтобы ее ввести, достаточно набрать нужное сочетание букв в окне «Выполнить». Если необходим просмотр результатов лучше использовать строку. «SHUTDOWN» - команда, которая завершает работу Windows, если по каким-либо причинам не работает кнопка «Пуск». Она пригодится, в случае выполнения компьютером задачи, которую нельзя прерывать (а пользователю необходимо уйти и не оставлять компьютер включенным на долгое время). Устройство корректно выключится по завершению работы самостоятельно. Это лучше, чем ставить таймер.

    Наберите следующую команду «Shutdown-s-t-1300», нажмите «Enter». Цифры - это время в секундах, через которое выключится устройство. Команда для перезагрузки компьютера из командной строки выглядит следующим образом: «Shutdown-r». Нажмите «Подтвердить» для активации. Команда «At» - запускает ПК в назначенное пользователем время. Эта утилита считывает и группирует задания в операционной системе Windows.

    Форматирование

    Список команд для консоли огромен. Многие из них безобидные и простые, но есть среди них особые, которые требует осторожности со стороны пользователя. Будьте внимательными! Иногда необходимо полностью отформатировать диск или флешку. Команда удаления всех данных выглядит так: «Format С», вспомогательные параметры «/fs» - определяют место файловой системы форматирующего диска, «/v» - задает метку тома, «/a» - размер кластера. Не выполняйте команду форматирования, если не уверены в своих действиях и не знаете, зачем это нужно. Команда удаляет всю информацию с ПК!

    Проверка

    Некоторые команды для командной строки предназначены для проверки дисков на наличие системных ошибок. Команда «CHKDSK» без дополнительных параметров выводит информацию о состоянии жесткого диска. Если будут найдены ошибки, введите дополнительно «/f», что позволит их исправить. Перед тем как проверять диск, заблокируйте его. Если консоль заполнена командами, введите в строку «c/s» для очистки экрана.

    Системные файлы проверит команда «Sfc». С ее помощью можно восстановить поврежденные файлы. Дополняется команда параметрами «/scannow», «/scanonce», «/scanboot», которые проверяют и исправляют системные ошибки в файлах.

    Другие

    Невозможно знать все команды строки, но некоторые из них пригодятся пользователю. Например, команда «Assoc» изменяет связь между расширением и типом файла. Если пользователь желает узнать подробную информацию об операционной системе и состоянии компьютера, ему следует набрать «Systeminfo». С помощью редактора системного реестра «Regent» можно изменять скрытые настройки ОС. Однако если не знаете, что к чему, делать это не рекомендуется из-за риска поломки Windows. Вызвать конфигурацию системы - специальную службу легко, введя в командную строку "Msconfic". Если хотите узнать о командах больше, напишите в строке консоли "Help", с учетом, что в качестве операционной системы выступает седьмая-восьмая версия Windows.

    К полезным командам для пользователя специалисты относят сетевые, системные и фильтры. Команда "At" состоит из целого набора команд, которые используются для установки, переустановки, настройки модема. Она также считается командой-планировщиком. С ее помощью можно изменять, отменять, настраивать задания для удаленного или локального компьютера. В операционной системе Windows лучше использовать вместо команды "At" утилиту "SCHTASKS". Ее возможности намного шире.