Команда ECHO – вывод текста на экран консоли
Формат командной строки:
В текстовый файл logfile.txt записывается дата и время начала работы
командного файла, некоторые результаты и время завершения.
При выводе служебных символов, интерпретируемых командным процессором нужно использовать символ ^. Например, вместо значения переменной ERRORLEVEL, нужно вывести текст “%ERRORLEVEL%”
< nul set /p str=”text1 ”
< nul set /p str=”text2″
< nul set /p str=”text3″
При выполнении такого командного файла сообщение на экране будет представлено одной строкой:
Для подачи звуковых сигналов можно использовать вывод служебного символа с кодом 07 (BELL). Достаточно просто включить его в поток выходных данных, что зависит от возможностей редактора, который используется для написания командного файла. Можно использовать и стандартные возможности командной строки, добавив комбинацию CTRL+G :
Весь список команд CMD Windows
Командная строка представляет собой программное средство ввода команд пользователем и получения результатов их выполнения на экране. В современных операционных системах семейства Windows, командную строку обеспечивает стандартное приложение cmd.exe, так же называемое командным процессором, интерпретатором команд и консолью. Приложение ”Командная строка” предоставляет пользователю текстовый интерфейс для ввода команд и получения результатов их выполнения. Фактически, командная строка является программным эмулятором классической консоли первых компьютерных систем, представляющей собой терминал с клавиатурой, используемый оператором в качестве средства общения с компьютером. Как и во времена первых компьютеров, командная строка поддерживает стандартное устройство ввода – клавиатуру, и стандартное устройство вывода – дисплей. Пользователь вводит команды с клавиатуры и получает результаты их выполнения на экране дисплея.
Если вы оказались без доступа к чему-либо кроме командной строки или Windows PowerShell и по какой-то причине вам требуется возможность создания или чтения текстовых файлов, это вполне реализуемо, причем более чем одним методом.
В этой инструкции подробно о работе с текстовыми файлами в командной строки или PowerShell (разумеется, можно и в Терминале Windows) — создание и сохранение текстовых файлов, их вывод и чтение в консоли.
Создание текстовых файлов в командной строке
Возможность создания текстовых файлов доступна как в командной строке (cmd.exe), так и в PowerShell. Начнем с первого варианта.
Во всех случаях учитывайте, что при использовании кириллицы потенциально возможны проблемы с кодировкой, а в некоторых случаях кодировка может отличаться при использовании разных команд.
В результате её выполнения в текущей рабочей папке командной строки будет создан файл с именем file.txt и содержимым «Содержимое текстового файла».

COPY CON
Команда copy с параметром con позволяет скопировать содержимое консоли в файл. Использование возможности будет состоять из следующих шагов:
Создание текстового файла в PowerShell
PowerShell также имеет набор встроенных командлетов для сохранения текстовых данных в файл.
Out-File
Использование Out-File в PowerShell по своей функциональности сходно с оператором перенаправления вывода в командной строке. Вывод консоли перенаправляется в заданный файл.
В этом примере в текущей папке PowerShell будет создан файл с именем file.txt и содержимым «Текстовая строка».
New-Item
Создание нового текстового файла в PowerShell возможно с помощью командлета New-Item. Пример команды, в которой создается текстовый файл file.txt, содержащий «Текстовая строка» в текущем расположении:
New-Item -Path . – Name “file.txt” -ItemType “file” -Value “Текстовая строка”

Set-Content и Add-Content
Ещё два командлета PowerShell для работы с текстовыми файлами:
Их использование можно увидеть на примере следующей команды:
Add-Content -Path .ile.txt -Value “Ещё одна текстовая строка”

Вывод (чтение) текстового файла в командной строке и PowerShell
Теперь перейдем к способам просмотреть текстовые файлы в командной строке или PowerShell. Как и в предыдущем случае, учитывайте, что для файлов, содержащих кириллицу, возможны проблемы с отображением символов в правильной кодировке.
TYPE
Самый простой вариант — использование команды TYPE с указанием пути к файлу, который нужно отобразить в консоли, например:

MORE
Если файл объемный и содержит большое количество строк, используйте команду more, например:
Выполнив команду, вы увидите часть содержимого текста, которая помещается в окне консоли, далее вы можете использовать следующие клавиши:

Get-Content
Вывести содержимое текстового файла в PowerShell можно с помощью Get-Content с указанием пути к файлу, например:

Также вы можете выводить определенные строки файла, с помощью команд вида (вывод первых или последних 10 строк соответственно):
Или присвоить содержимое файла переменной и вывести конкретную строку:

Помимо использования ручного ввода команд, вы можете использовать консольные текстовые редакторы — сторонние в версиях для Windows, такие как Vim, Nano, Kinesics Text Editor или даже старый встроенный edit.com (может отсутствовать в вашей версии системы и требовать патча NTVDMx64).
Запуск командной строки.
Для запуска командной строки можно воспользоваться одним из следующих способов:
Пуск – Выполнить (или клавиши Win+R) введите cmd и нажмите клавишу Enter;
Пуск – Все программы – Стандартные – Командная строка»;
Пуск – Поиск – Командная строка.
Также, для запуска командной строки можно использовать заранее подготовленный ярлык, ссылающийся на исполняемый файл %SystemRoot%system32cmd.exe ( обычно – C:Windowssystem32cmd.exe). Выполнение некоторых команд требует повышенных привилегий, поэтому, приложение командной строки должно быть запущено с использованием пункта контекстного меню ”Запуск от имени администратора”, вызываемого правой кнопкой мышки.
Настройка командной строки.
Страница, посвященная настройкам командного процессора CMD
Работа в командной строке предполагает ввод данных с клавиатуры, при чем, иногда довольно большого объема. Этот объем можно значительно сократить, используя некоторые приемы:
Использование буфера обмена.
Текст, выделенный в окне приложения, можно скопировать в буфер обмена, а также вставить его из буфера обмена в поле ввода. При стандартных настройках командной строки для выделения текста используется пункт ”Пометить” контекстного меню, вызываемого правой кнопкой мышки. При желании, в свойствах ярлыка, с помощью которого выполняется запуск можно включить режим выделения мышью:

В режиме выделения мышью, контекстное меню не используется, а текст выделяется с использованием левой кнопки мышки. Копирование и вставка выполняется при нажатии правой кнопки мышки.
При включенном режиме ”Разрешить сочетания клавиш с 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 использованием операторов перенаправления:
< – перенаправление ввода. Данные считываются не с клавиатуры, а из файла или другого устройства.
cmd < 1.txt – запустить командный процессор CMD и выполнить ввод данных из файла 1.txt. Если в файле поместить строку ping –n 100 yandex.ru, то выполнится команда, рассмотренная выше.
Нередко, вывод одной команды нужно передать в качестве вводимых данных для другой, т.е. объединить команды в последовательную цепочку:
Использование дескрипторов ввода-вывода консоли.
Каждому открытому файлу или устройству соответствует свой дескриптор ( handle) который представляет собой неотрицательное число, значение которого используется породившим поток ввода-вывода процессом. По умолчанию, для всех процессов, в том числе и для командного интерпретатора cmd.exe :
0 ( STDIN ) – дескриптор стандартного ввода (ввод с клавиатуры).
1 (STDOUT) – дескриптор стандартного вывода (вывод на экран).
2 (STDERR) – дескриптор вывода диагностических сообщений (сообщений об ошибках на экран).
Дескрипторы можно использовать в тех случаях, когда требуется перенаправить (изменить) источники и приемники данных в стандартных потоках ввода-вывода. Например:
Для задания перенаправления в существующие дескрипторы используется амперсанд (&), затем номер требуемого дескриптора (например, &1):
Объединение нескольких команд в цепочку
& – одиночный амперсанд используется для разделения нескольких команд в одной командной строке. Например:
&& – условное выполнение второй команды. Она будет выполнена, если код завершения (значение которого передается в стандартную переменную 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) выполнена не будет.
В некоторых случаях может возникнуть необходимость запрета обработки служебных символов и трактовки их в качестве простого текста. Например, если ввести в командной строке
то вместо текста ping -n 1 ya.ru & ping -n 2 ya.ru будет выведена его часть до символа амперсанда ping -n 1 ya.ru и затем выполнена команда после амперсанда – ping -n 2 ya.ru . Проблему решает использование специального экранирующего символа ^ , который позволяет использовать служебные символы как текст:
TYPE C:plan.txt && DIR & COPY /?
команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:plan.txt. Но, несколько команд можно сгруппировать с помощью скобок. Например, есть 2 командные строки:
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
Командные файлы
Прочие материалы для освоения работы в командной строке Windows:
Windows Terminal – альтернатива командной строке в Windows 10.
Список команд CMD с описанием и примерами.
Настройка командной строки Windows.
Работа с сетью в командной строке.




