# Командная строка Windows
**Что такое командная строка**
**Командная строка** - это программа cmd.exe, находящаяся в директории system32 папки операционной системы. Вариант ее месторасположения: C:\Windows\system32\cmd.exe. Путь может и отличаться, в зависимости от версии Windows и места ее установки.

В общих чертах, командная строка — это **инструмент операционной системы**, состоящий, как правило, из оболочки ОС и текстового интерфейса. Оболочка обеспечивает пользователя инструментарием для «общения» с операционной системой, которыми, в данном случае, выступают текстовые команды.


![](cmdstroka.png)

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

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

**История развития командной строки**

Современные операционные системы семейства Windows являются прямыми потомками MS-DOS (Microsoft Disk Operation System) или как чаще ее называют DOS.

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

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

![Пример командной строки](cmdprimer.gif)

Командная среда, эмулирующая DOS имеет множество названий, таких как – командная строка, командное окно, командная среда и .т.д.

**В каких ситуациях командная строка может оказаться полезной**

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

Возьмём ситуацию с вирусами. Существуют такие вирусные программы, которые полностью блокируют графический интерфейс пользователя (так называемые, смс-баннеры). Как правило, эти вирусы выводят на экран компьютера окно, в котором написано сообщение, типа «Ваш компьютер блокирован управлением МВД» или «Ваши данные под угрозой» и так далее. Такие смс-баннеры невозможно закрыть никакими обычными способами — ни при помощи мышки, ни при помощи горячих клавиш на клавиатуре.

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

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

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

**Как пользоваться командной строкой**

На различных компьютерных форумах и сайтах можно найти сотни руководств по использованию тех или программ, выполнению каких-то системных настроек и массу других статей, в которых авторы призывают к использованию командной строки. Многие неопытные пользователи сразу теряются, видя фразу «Запустите командную строку…». Если вы также входите в их число, вам будет очень полезно ознакомиться с работой этого полезного инструмента. Начнём с того, как её вызвать.

**Как вызвать командную строку**

Начиная с Windows XP и до последней версии этого семейства операционных систем, командная строка вызывается посредством диалога «Выполнить» («Run»), в который необходимо ввести команду — «cmd». Запуск этого диалога осуществляется с помощью одновременного нажатия клавиш Win + R.

![Вызов командной строки](vizovcmd.png)

В Windows XP (в отличие от последующих версий) в меню «Пуск» имеется специальный ярлык, который так и называется «Выполнить…». Если нажать на него, то диалог также запустится.

![Окно выполнить](windowrun.png)

Вызвать командную строку можно и другими способами.

* Открыть меню «**Пуск**», ввести в поисковую строку фразу «**Командная строка**» или «**cmd**», после чего в результатах поиска появится ярлык запуска командной строки;

![Запуск командной строки через окно поиска](runcmd.png)

* В меню «**Пуск**» перейти в раздел «**Программы**», затем в «**Стандартные**» и запустить ярлык «**Командная строка**»;
* Перейти в системный диск (обычно это «**Локальный диск C**»), затем в папку «**Windows**», далее в «**System32**» (для 32-рязрядных систем) или «**SysWOW64**» (для 64-разрядных) — здесь находится файл «**cmd.exe**», который следует запустить.

![Запуск командной строки с помощью exe-файла](cmdexe.png)

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

**Работа в командной строке**

Чтобы «cmd» выполнил ту или иную команду, достаточно ввести её в окно, после чего нажать клавишу **Enter**. Для проверки можете ввести «**help**» — эта команда отобразит список всех имеющихся стандартных команд.

![Работа с командной строкой](komandahelp.png)

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

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

Попробуем перейти с одного локального диска на другой, просмотрим его содержимое, затем создадим папку, перейдём в неё, а в ней создадим ещё одну папку и удалим её. Интересная задачка? Главное, что для выполнения каждого отдельного действия потребуется задействовать разные команды. Начнём.

После запуска командной строки, вы могли заметить перед мигающим курсором адрес: «**C:/Users/Имя пользователя**» (в нашем случае — здесь «**Reptile**»). Имя последней папки означает ваше текущее местоположение (то же самое, как если бы вы зашли в эту папку через Проводник). А «С:\» — это локальный диск, на котором вы находитесь. Чтобы сменить текущий локальный диск, достаточно ввести его букву и двоеточие сразу после неё — например, «D:».

![Интерфейс командной строки](interface.png)

Так вы попадёте на диск «D:\» (или любой другой). Чтобы просмотреть содержимое диска (или вообще любой папки) используется команда «**dir**». Введите её прямо здесь, и вы увидите список файлов и папок, имеющихся на диске «D:\».

![Использование команды "dir"](komandadir.png)

Теперь создадим папку прямо в корне диска. Для этого используем команду — «mkdir», а в качестве параметра через пробел нужно вписать имя будущей папки, например, «**mkdir xp**». В данном случае создастся папка с именем «xp».

![Использование команды "mkdir"](komandamkdir.png)

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

Для перехода в ту или иную папку используйте команду «**cd**». Здесь в качестве аргумента также используется имя каталога для перехода. Введём «**cd xp**» и попадём внутрь папки (сделаем эту папку текущей).

![Использование команды "cd"](komandacd.png)

Создадим в папке ещё одну, используя команду «**mkdir**». Пусть это будет папка «**123**».

![Создание папки](createfolder.png)

Теперь удалим её. Для этого вводим «**rmdir 123**». Выполните теперь в каталоге «xp» команду «dir» и вы увидите, что папки «123» больше нет.

![Удаление папки](deletefolder.png)

Если вы захотите подробнее ознакомиться с описанием той или иной команды, просто введите ключ «/?» сразу после команды, и на экран будет выведена подсказка. Например, введите «**dir /?**». Другой вариант запуска подсказки: «**help dir**».

![Использование подсказок](advancehelp.png)

Запомнить все существующие команды не просто — их огромное множество. На официальном сайте Microsoft имеется наиболее полное руководство по командной строке, хотя и описаний, выдаваемых командой help вполне достаточно.




**Преимущества знания командной строки**

- Во-первых, с помощью командной строки возможно создание сценариев автоматизации и пакетных файлов, т.е. выполнение одной или нескольких команд без вмешательства пользователя. Автоматизация заданий, сэкономит время и деньги. (Например, возможно создание cmd файла, который будет в архивировать Вашу систему, запустить антивирус на сканирование, также возможен запуск заданий на удаленном компьютере).
- Во-вторых, это управление данными и файлами (Например, копирование - copy, перемещение - move, удаление – del. Добавьте сюда возможность автоматизации и перед Вами мощный инструмент для использования).
- В-третьих, администрирование компьютера. По своему желанию можно создать даже службу которая будет запускаться при старте ОС.
- В-четвертых, администрирование сети. Многие команды администрирования сети не имеют графических эквивалентов (например – команда ping, pathping, tracert). Эти команды имею первостепенное значение при диагностике и устранении неисправностей проблем с сетью.

**Краткий справочник по командам командной оболочки**

* **assoc** — выводит или изменяет сопоставления (associations) типов файлов;
* **break** — задает точки останова при отладке
* **call** — вызывает из сценария процедуру или другой сценарий;
* **cd** (chdir) — показывает имя текущего каталога или выполняет смену текущего каталога;
* **cls** — очищает окно командной строки и буфер экрана;
* **color** — задает цвета текста и фона окна командной оболочки;
* **сору** — копирует файлы или выполняет конкатенацию файлов;
* **date** — показывает или устанавливает текущую дату;
* **del** (erase) — удаляет заданный файл, группу файлов или каталог;
* **dir** — показывает список подкаталогов и файлов в текущем или заданном каталоге;
* **echo** — выводит текст в окно командной строки или задает, надо ли отображать команды на экране (on|off);
* **endlocal** — отмечает конец локализации (локальной области видимости) переменных;
* **exit** — выход из оболочки командной строки;
* **for** — выполняет заданную команду для каждого файла в наборе;
* **ftype** - выводит или изменяет текущие типы файлов в сопоставлениях расширений файлов с программами;
* **goto** — указывает, что интерпретатор команд должен перейти на строку с заданной меткой в пакетном сценарии;
* **if** — выполняет команды по условию;
* **md** (mkdir) — создает подкаталог в текущем или заданном каталоге;
* **move** — перемещает файл или группу файлов из текущего или заданного исходного каталога в указанный каталог. Также может переименовывать каталог;
* **path** — показывает или задает путь к командам, используемый операционной системой при поиске исполняемых файлов и сценариев;
* **pause** — останавливает выполнение пакетного файла и ожидает ввода с клавиатуры;
* **popd** — делает текущим каталог, имя которого было сохранено командой PUSHD;
* **prompt** — указывает, какой текст должен показываться в строке приглашения;
* **pushd** — сохраняет имя текущего каталога и при необходимости делает текущим заданный каталог;
* **rd** (rmdir) — удаляет каталог или каталог вместе с его подкаталогами;
* **rem** — помечает комментарии в пакетном сценарии или Config.nt;
* **ren** (rename) — Переименовывает файл или группу файлов;
* **set** — показывает текущие переменные окружения или задает временные переменные для текущей командной оболочки;
* **setlocal** — отмечает начало локализации (локальной области видимости) переменных в пакетных сценариях;
* **shift** — сдвигает позицию замещаемых параметров в пакетных сценариях;
* **start** — запускает заданную программу или команду в отдельном окне;
* **time** — показывает или устанавливает системное время;
* **title** — задает заголовок окна командной оболочки;
* **type** — показывает содержимое текстового файла;
* **verify** — включает режим проверки файлов после записи на диск;
* **vol** — показывает метку и серийный номер дискового тома.






## Список литературы
1. http://cmd4win.ru/
2. https://info-comp.ru/vseowindowsst/53-comandstroka.html
3. https://vellisa.ru/windows-command-line-commands
4. https://cmd.readthedocs.io/cmd.html
5. https://zametkinapolyah.ru/zametki-o-poleznyx-programmax/cmd-exe-komandnaya-stroka-windows.html