Информационные технологииStfw.Ru 🔍

Оболочка командной строки command.com/cmd.exe

🕛 12.09.2009, 23:39
Во всех версиях операционной системы Windows поддерживается интерактивная ободочка командной строки (command shell), и по умолчанию устанавливается определенный набор утшил командной строки (количество и состав этих \ гили) зависит от версии операционной системы). Вообще, но-бую операционную систем} можно представить в пиле совокупности ядра системы, которое имеет доступ к аппаратуре и управляет файлами и процессами. и оболочки {командного интерпретатора) с утилитами, которые позволяют пользователю получить доступ к функциональности ядра операционной системы. Механизм работы оболочек в разных системах одинаков: в ответ на приглашение ("подсказку", prompt), выдаваемое находящейся в ожидании оболочкой, пользователь вводит некоторую команду (функциональность этой команды можеп бык. реализована либо самой оболочкой. либо определенной внешней у питой), оболочка выполняет ее. при необходимости выводя на экран какую-либо информацию, после чего снова выводит приглашение и ожидает ввода следующей команды.
Замечание
С технической точки зрения оболочка представляет собой построчный интерпретатор простого языка сентенциального (директивного) программирования. в качестве операторов которого могут использоваться исполняемые программы.
Результат выполнения команды dir в оболочке cmd.exe

Наряду с интерактивным режимом работы оболочки, как правило. поддержи-Baioi и пакетный режим, в котором система последовательно выполняй команды, записанные в текстовом файле-сценарии. Оболочка Windows не является исключением, с точки зрения программирования язык командных файлов Windows может быть охарактеризован следующим образом:
□ реализация сентенциальной (директивной) парадигмы программирования; Я выполнение в режиме построчной интерпретации:
О наличие управляющих конструкций:
□ поддержка нескольких видов циклов (в том числе специальных циклов для обработки текстовых файлов):
О наличие оператора присваивания (установки значения неременной):
□ возможность использования внешних программ (команд) операционной системы в качестве операторов и обработки их кодов возврата;
□ наличие нетипизированных переменных, которые декларируются первым упоминанием (значение переменных могут интерпретироваться как числа и использоваться в выражениях целочисленной арифметики).
Начиная с версии Windows NT, оболочка командной строки представляется интерпретатором cmd.exe. который расширяет возможности оболочки сот-mand.com операционной системы MS-DOS. В свою очередь функциональность командного интерпретатора command.com была позаимствована из операционной системы СР/М. командный интерпретатор которой представлял собой значительно упрощенный и урезанный вариант оболочки UNIX-систем.
Таким образом, оболочка командной строки MS-DOS изначально уступала UNIX-оболочкам по удобству работы и развитости языка сценариев. В командной оболочке Windows NT (cmd.exe). несмотря на все сделанные улучшения, не удалось преодолеть данное отставание ни в режиме интерактивной работы (например, в cmd.exe отсутствует поддержка псевдонимов для длинных названий команд и не реализовано автоматическое завершение команд при вводе их с клавиатуры), ни в синтаксисе или возможностях языка командных файлов.
Ситуация усугублялась тем. что Windows всегда проигрывала UNIX-системам в количестве и функциональных возможностях стандартных (не требующих дополнительной установки) утилит командной строки, а также в качестве и полноте встроенной справочной системы по командам оболочки.
Замечание
Для того чтобы прочитать встроенную справку для определенной команды, нужно вызвать эту команду с ключом /? (например, хсору /?). Общий справочник по командной строке находится в файле %WinDir%\Help\Ntcmds.chm.

На практике проблем) отсутствия нужной функциональности у стандартных команд приходится решать либо с помощью утилит пакета Windows Resource Kit для соответствующей версии операционной системы, либо путем поиска подходящей утилиты сторонних производителей. Кроме того, в Windows можно пользоваться POSIX-совместимыми утилитами и оболочками с помощью пакета Microsoft Services For UNIX (SFU). Данный продукт разрабатывался еще для Windows NT и первоначально не входил в состав операционной системы. его нужно было приобретать за отдельную плату. В дальнейшем пакет SKU стал бесплатным и даже был включен в состав операционной системы Windows Server 2003 R.2.
Итак, учитывая все сказанное ранее, мы можем сделать следующий вывод: оболочка командной строки cmd.exe и командные файлы - наиболее универсальные и простые в изучении средства автоматизации работы в Windows, доступные во всех версиях операционной системы. При этом, однако, оболочка cmd.exe и командные файлы существенно проигрывают аналогичным инструментам в UNIX-системах и не обеспечивают доступ к объектным моделям. поддерживаемым операционной системой (COM. W'MI. .NET).

Windows PowerShell   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉