Что такое командная строка

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

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

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

Именно поэтому ею пользуются для создания пакетных файлов (BAT-файлы), которые выполняют определенную последовательность операций для выполнения поставленной той или иной задачи.

Какие преимущества дает использование командной строки

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

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

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

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

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

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

Также можно просто перейти в раздел Все программы и в папке Стандартные и будет находиться ярлык командной строки. И наконец, можно воспользоваться утилитой Выполнить, для этого нажмите сочетание клавиш Win+R или запустите утилиту Выполнить через меню Пуск. Теперь введите в строку Открыть cmd и нажмите Enter.

Сам исполняемый файл командной строки находится на системном диске по следующему пути: Windows/System32/cmd.exe.

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

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

Для этого достаточно нажать на иконку окна в левой его части левой клавишей мышки (или нажмите сочетание Alt+Пробел). Появится контекстное меню, где выбрав Свойства можно выполнить основные настройки внешнего вида, курсора мыши, размеров и расположения окна.

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

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

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

ASSOC Отображение на экране или модификация сопоставлений по расширениям имен файлов.
ATTRIB Просмотр и модификация аттрибутов файлов.
BREAK Включает или отключает возможность использования CTRL+C в системе DOS .
BCDEDIT Устанавливает свойства в базе данных загрузки, которая позволяет управлять начальной загрузкой.
CACLS Выводит данные и изменяет списки управления доступом (ACL) к файлам.
CALL Вызывает один пакетный файла из другого, а также может передавать входные аргументы.
CD Выводит имя пути или перемещает к другой папке.
CHCP Вывод или задание кодировки.
CHDIR Выводит название или перемещает к другой папке.
CHKDSK Диагностика накопителя на ошибки.
CHKNTFS Показывает или изменяет диагностику накопителя во время загрузки.
CLSО чистка дисплея от всех символов.
CMD Запускает программу командной строки Windows. На одном компьютере их можно запустить бесконечное количество. Они будут работать независимо друг от друга.
COLOR Изменяет и устанавливает основной фон окна и самих шрифтов.
COMP Показывает различия и сравнивает содержимое двух файлов.
COMPACT Изменяет и показывает сжатие файлов в NTFS .
CONVERT Изменяет дисковые тома FAT в NTFS . Текущий диск изменить не удастся.
COPY Создаёт копию файла или файлов и помещает их в указанное место.
DATE Показывает или устанавливает текущую дату.
DEL Уничтожает один или несколько файлов сразу.
DIR Показывает имена файлов и папок с их датой создания, находящихся в текущей или указанной в параметрах папки.
DISKCOMP Сравнивает и показывает различия 2 гибких накопителей.
DISKCOPY Создаёт копию содержимого одного гибкого накопителя на другой.
DISKPART Показывает и изменяет свойств раздела диска.
DOSKEY Изменяет и повторно вызывает командные строки; создаёт макросы.
DRIVERQUERY Отображает сведения о «положении дел» и атрибутах драйвера устройства.
ECHO Выводит текстовую информацию и меняет режим отображения команд на экране.
ENDLOCAL Подводит к концу локализацию среды для пакетного файла.
ERASE Уничтожает файл или файлы.
EXIT Прекращает работу программы командной строки
FC Показывает различия двух файлов или двух наборов файлов а также сравнивает их
FIND Осуществляет поиск текстовой строки в файлах либо в одном файле.
FINDSTR Расширенный поиск текстовых строк в файлах.
FOR Цикл. Повторяет выполнение одной и той же команды указанное количество раз
FORMAT Форматирование накопителя для работы с Windows.
FSUTIL Показывает и устанавливает атрибуты файловой системы.
FTYPE Даёт возможность изменить и просмотреть типы файлов, которые в основном применяются при сопоставлении по расширениям имен файлов.
GOTO Передаёт управление к другой указанной команде.
GPRESULT Выводит сведения о групповой политике для компьютера или пользователя.
GRAFTABL Позволяет Windows показывать расширенный набор символов в графическом режиме.
HELP Выводит все данные о существующих командах консоли Windows.
ICACLS Показывает, модифицирует, архивирует либо восстанавливает списки ACL для файлов и папок.
IF Выполняет команды по заданному условию.
LABEL Создаёт, модифицирует и уничтожает метки тома для накопителей.
MD Создаёт пустой каталог.
MKDIR Создаёт пустой каталог.
MKLINK Создает символические и жесткие ссылки
MODE Настраивает системные устройства.
MORE Последовательно выводит информацию по блокам размером в один экран.
MOVE Перемещает файлы из одного расположения в другое.
OPENFILES Показывает файлы, которые открыты на общей папке удаленным пользователем.
PATH Выводит или задаёт полный путь к исполняемым файлам.
PAUSE Прекращает выполнение команд командной строки и выводит информирующий текст.
POPD Восстанавливает предыдущее значение активной папки, которое было сохранено посредством команды PUSHD .
PRINT Выводит на печать содержимое текстового файла.
PROMPT Модифицирует приглашение в командной строке Windows.
PUSHD Сохраняет значение активной папки и переходит к другой папке.
RD Удаляет папку.
RECOVER Возрождает данные, способные читаться, с плохого или поврежденного винчестера.
REM Помещает комментарии в пакетные файлы и файл CONFIG.SYS .
REN Меняет название как файлов так и папок.
RENAME Аналогичен команде REN .
REPLACE Меняет файлы местами.
RMDIR Уничтожает каталог.
ROBOCOPY Продвинутый инструмент для копирования файлов и целых папок
SET Показывает, устанавливает и уничтожает переменные среды Windows.
SETLOCAL Производит локализацию изменений среды в пакетном файле.
SC Даёт возможность работать со службами
SCHTASKS Позволяет запускать любые программы и последовательно выполнять нужные команды по заданному плану
SHIFT Меняет позицию (сдвиг) подставляемых параметров для пакетного файла.
SHUTDOWN Завершает работу компьютера.
SORT Сортирует ввод по заданным параметрам.
START Запускает программу или команду в новом окне.
SUBST Назначение заданному пути имени накопителя.
SYSTEMINFO Выводит данные об операционной системе и конфигурации компьютера.
TASKLIST Показывает список всех запущенных процессов с их идентификаторами.
TASKKILL Прекращает работу процесса или приложения.
TIME Устанавливает и выводит системное время.
TITLE Задаёт название окну для текущего сеанса интерпретатора командных строк CMD.EXE
TREE Выводит директории накопителя в удобном наглядном виде.
TYPE Выводит содержимое текстовых файлов.
VER Выводит краткие сведения о версии Windows.
VERIFY Проверяет на ошибки записи файла на накопителе.
VOL Выводит на дисплей метки и серийный номер тома накопителя.
XCOPY Создаёт копию файлов.
WMIC Выводит WMI в командной строке.

Для начинающих пользователей знание имен команд – это слишком мало. По приведенному списку можно лишь оценить возможности командной строки. Чтобы использовать ту или иную команду необходимо соблюдать синтаксис написания команд. Узнать синтаксис по любой команде можно опять же с помощью самой командной строки. Для этого введите команду и после ее имени допишите /? и нажмите Enter. Тот же результат даст команда HELP ИМЯ_КОМАНДЫ. Например:
COPY /? или HELP COPY

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

Для того, чтобы не набирать повторно одну и туже команду с различными аргументами используйте клавиши клавиатуры стрелки ВВЕРХ-ВНИЗ. Тем самым в окне будут отображаться предыдущие команды, введенные в консоль.

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

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

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

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

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

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

Никаких диалоговых окон или результатов о выполнении команды пользователю не выводится за исключением тех, которые предусмотрены некоторыми командами.
Пример простого пакетного файла:
DEL C:Temp /Q
PAUSE

Данный файл будет очищать временную папку Temp, расположенную в корне диска С. Причем запрос на удаление файлов не будет выводиться (ключ /Q). Команда PAUSE здесь позволит не закрывать окно командной строки после выполнения очистки папки. То есть пользователь сможет посмотреть результат очистки временной папки. После нажатия любой клавиши окно командной строки будет закрыто.
Команду PAUSE очень часто используют именно для отладки различных сценариев и проверки работы пакетных фалов.

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

Если вам когда-нибудь понадобиться получить список всех файлов, то вы обнаружите пренеприятнейшую новость. Интерфейс проводника 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 от имени администратора?

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

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

    С помощью команд в «Командной строке» запускаются различные утилиты и выполняются определенные операции. Зачастую основное командное выражение используется вместе с рядом атрибутов, которые записываются через косую черту (/ ). Именно эти атрибуты инициируют выполнение конкретных операций.

    Мы не ставим перед собой цель описать абсолютно все команды, применяемые при использовании инструмента CMD.EXE. Для этого пришлось бы написать не одну статью. Мы же постараемся уместить на одной странице информацию о наиболее полезных и популярных командных выражениях, разбив их на группы.

    Запуск системных утилит

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

    CHKDSK – запускает утилиту Check Disk, которая выполняет . Данное командное выражение можно вводить с дополнительными атрибутами, которые, в свою очередь, запускают выполнение определенных операций:

    • /f – восстановление диска в случае обнаружения логических ошибок;
    • /r – восстановление секторов накопителя в случае обнаружения физических повреждений;
    • /x – отключение указанного жесткого диска;
    • /scan – сканирование на упреждение;
    • C:, D:, E: … — указание логических дисков для сканирования;
    • /? – вызов справки о работе утилиты Check Disk.

    SFC – запуск утилиты . Данное командное выражение чаще всего используется с атрибутом /scannow . Оно запускает инструмент, который проверяет файлы ОС на соответствие стандартам. В случае повреждений, при наличии установочного диска существует возможность восстановления целостности системных объектов.

    Работа с файлами и папками

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

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

    append [;] [[диск компьютера:]путь[;...]]

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

    • /e – запись полного списка файлов;
    • /? – запуск справки.

    ATTRIB – команда предназначена для изменения атрибутов файлов или папок. Так же, как и в предыдущем случае, обязательным условием является ввод вместе с командным выражением полного пути к обрабатываемому объекту. Для установки атрибутов используются следующие ключи:

    • h – скрытый;
    • s – системный;
    • r – только для чтения;
    • a – архивный.

    Для того чтобы применить или отключить атрибут, перед ключом соответственно ставится знак «+» или «-» .

    COPY – применяется для копирования файлов и каталогов из одной директории в другую. При использовании команды обязательно указание полного пути объекта копирования и папки, в которую оно будет производиться. С данным командным выражением можно использовать следующие атрибуты:

    • /v – проверка корректности копирования;
    • /z – копирование объектов из сети;
    • /y – перезапись конечного объекта при совпадении имен без подтверждения;
    • /? – активация справки.

    DEL – удаление файлов из указанной директории. Командное выражение предусматривает возможность использования ряда атрибутов:

    • /p – включение запроса подтверждения удаления перед манипуляцией с каждым объектом;
    • /q – отключение запроса при удалении;
    • /s – удаление объектов в каталогах и подкаталогах;
    • /a: — удаление объектов с указанными атрибутами, которые назначаются при помощи тех же ключей, что и при использовании команды ATTRIB .

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

    DIR – выводит список всех подкаталогов и файлов, которые расположены в указанной директории. Вместе с основным выражением применяются такие атрибуты:

    • /q – получение информации о владельце файла;
    • /s – отображение перечня файлов из указанного каталога;
    • /w – вывод списка в несколько колонок;
    • /o – сортировка перечня выводимых объектов (e – по расширению; n – по имени; d – по дате; s – по размеру);
    • /d – отображение списка в несколько колонок с сортировкой по этим колонкам;
    • /b – отображение исключительно имен файлов;
    • /a – отображение объектов с определенными атрибутами, для указания которых используются те же ключи, что и при использовании команды ATTRIB.

    REN – используется для переименования каталогов и файлов. В качестве аргументов к данной команде указывается путь к объекту и его новое название. Например, для переименования файла file.txt, который расположен в папке «Folder» , находящейся в корневой директории диска D , в файл file2.txt, нужно ввести следующее выражение:

    REN D:\folder\file.txt file2.txt

    MD – предназначена для создания новой папки. В синтаксисе команды обязательно следует указать диск, на котором будет располагаться новый каталог, и директорию его размещения в том случае, если он является вложенным. Например, для создания каталога folderN , который расположен в директории folder на диске E , следует ввести такое выражение:

    md E:\folder\folderN

    Работа с текстовыми файлами

    Следующий блок команд предназначен для работы с текстом.

    TYPE – отображает на экране содержимое текстовых файлов. Обязательными аргументом данной команды является полный путь к объекту, текст в котором следует просмотреть. Например, для просмотра содержимого файла file.txt, находящегося в папке «Folder» на диске D , требуется ввести следующее командное выражение:

    TYPE D:\folder\file.txt

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

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

    • /c – выводится общее количество строк, содержащих искомое выражение;
    • /v – вывод строк, которые не содержат искомое выражение;
    • /I – поиск без учета регистра.

    Работа с учетными записями

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

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

    TSCON – выполняет присоединение сеанса пользователя к сеансу терминала. При использовании данной команды обязательно требуется указать ID сеанса или его имя, а также пароль того юзера, которому он принадлежит. Пароль следует указывать после атрибута /PASSWORD .

    Работа с процессами

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

    QPROCESS – предоставление данных о запущенных процессах на ПК. Среди выводимой информации будет представлено наименование процесса, имя пользователя, его запустившего, название сеанса, ID и PID.

    TASKKILL – используется для завершения процессов. Обязательным аргументом является наименование элемента, который нужно остановить. Он указывается после атрибута /IM . Также можно произвести завершение не по имени, а по идентификатору процесса. В этом случае используется атрибут /PID .

    Работа в сети

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

    GETMAC – запускает отображение MAC-адреса подключенной к компьютеру сетевой карты. В случае наличия нескольких адаптеров отображаются все их адреса.

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

    NETSTAT – отображение статистической информации о сетевых подключениях.

    Другие команды

    Также существует ряд других командных выражений, применяемых при использовании CMD.EXE, которые нельзя выделить в отдельные группы.

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

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

    SHUTDOWN – выключает компьютер. Данное выражение можно использовать, как локально, так и удаленно.

    BREAK – отключение или запуск режима обработки сочетания кнопок Ctrl+C .

    ECHO – выводит текстовые сообщения и применяется для переключения режимов их отображения.

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

    Командная строка представляет собой программное средство ввода команд пользователем и получения результатов их выполнения на экране. В современных операционных системах семейства 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) с передачей ему параметра командной строки (имя файла). Язык командных файлов довольно примитивен и не в полной мере соответствует требованиям сегодняшнего дня, однако, он является самым простым средством автоматизации рутинных действий и используется большинством системных администраторов и грамотных пользователей. Работа с командными файлами – это отдельная тема, более подробно изложенная на странице

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