Инструменты командной строки для автоматизации работы в ос microsoft windows кратко

Работа по теме: Лб 1 Интерпретатор командной строки ОС MS Windows XP часть 1. Глава: Инструменты командной строки для автоматизации работы в ос Microsoft Windows.. ВУЗ: ПГУТИ.
  1. Достоинства и
    недостатки интерфейса командной строки.

  2. Настраиваемые
    свойства интерпретатора.

  3. Различие
    между внутренними и внешними командами.
    Примеры внешних и внутренних команд.

  4. Структура
    команды интерпретатора.

  5. Получение информации
    о конкретной команде.

  6. Групповые
    символы (шаблоны) и их использование.

  7. Перенаправление
    ввода/вывода и конвейеризация команд.

  8. Условное
    выполнение и группировка команд.

  9. Назначение
    символов &,
    &&,

    ||
    и () .

  10. Команды
    для работы с файловой системой –
    названия и возможности.

  11. Достоинства
    и недостатки команд COPY
    и XCOPY.

  12. Назначение
    команды ECHO
    и примеры ее использования.

  13. Команда
    DIR
    и ее возможности.

  14. В
    какой кодировке интерпретатор выводит
    информацию и как получить читаемую
    твердую копию?

15

Соседние файлы в папке ОС 2013 2к ДО

  • #
  • #
  • #
  • #
  • #
  • #

Несмотря на простоту использования графического интерфейса пользователя Windows (GUI), интерфейс командной строки остается полезным способом выполнить многие задачи обслуживания, конфигурации и диагностики. Многие наиболее важные инструменты диагностики, такие как ping, tracert и nslookup доступны только из командной строки, если конечно Вы не купили сторонние графические оболочки для выполнения тех же самых функций. И хотя термин «bat-файл» может вернуть воспоминания о не комфортной старой рабочей среде MS-DOS, bat-файлы и программные скрипты остаются мощными инструментами, предоставляющий полезный способ инкапсулировать в себе общие функции управления. Утилиты командной строки, bat-файлы и скрипты, основанные на WSH (Windows Script Host) совместно предоставляют полный набор строительных блоков, из которых Вы можете создать высокоуровневые утилиты для выполнения сложных задач.

Примечание: это перевод части книжки «Microsoft® Windows 7 In Depth» [1], авторы Brian Knittel, Robert Cowart, касающейся настройки и конфигурирования рабочей среды с командной строкой. Более полное руководство с примерами можно получить в книге «Windows 7 and Vista Guide to Scripting, Automation, and Command Line Tools», автор Brian Knittel.

[Командная строка Windows 7]

Открыть окно приглашения командной строки (Command Prompt), где Вы сможете вводить команды и получать от них сообщения о результатах работы, кликните на кнопку Start (Пуск) -> All Programs (Все программы) -> Accessories (Стандартные) -> Command Prompt (Командная строка). Есть альтернативный способ — кликните Start и в поле Search (поиск) введите cmd. Посте того, как будет найден файл cmd.exe, нажмите клавишу Enter.

Примечание: похожим образом запускается интерпретатор команд и на Windows XP, только cmd нужно вводить в приглашении «Выполнить…», после чего нажать на OK.

После этой операции откроется окно Command Prompt, как это показано на рис. 29.1.

command line and automation tools fig29 1

Рис. 29.1. Окно командной строки — ворота в мир инструментов мощной системы управления Windows.

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

Совет: если Вы планируете регулярно использовать окно Command Prompt, то для быстрого доступа к нему прикрепите его к панели задач. Для этого сделайте правый клик на иконку Command Prompt в панели задач, и выберите «Pin This Program to Taskbar» (прикрепить эту программу к Панели Задач). Также можно перетащить ярлычок окна Command Prompt на Рабочий Стол Windows (Desktop).

Также можно открыть окно Command Prompt из Проводника (Windows Explorer). Для этого в Проводнике удерживайте клавишу Shift, и выполните правый клик на имени нужной папки, после чего выберите в контекстном меню «Open Command Window Here». Откроется окно командной строки (Command Prompt) и выбранная папка будет для этого окна команд папкой по умолчанию.

Расширения имен для запускаемых файлов. У большинства файлов Windows есть так называемое расширение имени файла — суффикс, следующий после точки, который обычно состоит из трех английских букв. Изначально это расширение предназначено для определения типа файла. Некоторые из расширений обозначают запускаемые файлы программ разного вида, это такие расширения файлов, как .exe, .bat, and .vbs (большинство общих расширений файлов программ показано в таблице 29.1). Для выполняемой команды не обязательно вводить имя программы полностью, достаточно ввести имя без расширения. Например, для утилиты Ping можно вести команду ping (с опциями, указывающий адрес для пинга) вместо ping.exe. В случае ввода команды без расширения операционная система Windows предполагает, что это программа, и сама добавляет расширение файла, когда ищет программу по своему внутреннему списку поиска, и если такая программа найдена, то запускает её. После этого запущенная программа получает список аргументов, указанный в строке команды после имени программы, и программа должна соответствующим образом обработать эти аргументы.

Таблица 29.1. Типовые расширения имени для выполняемых файлов.

Расширение Тип программы
.bat, .cmd bat-файл, скрипт из набора команд.
.com Архаичная программа MS-DOS.
.exe GUI-программа Windows, консольная программа, или программа MS-DOS (Windows определяет тип программы по содержимому файла).
.js Скрипт, написанный на языке JavaScript.
.msc Консоль управления Windows (Microsoft Management Console).
.vbs Скрипт, написанный на языке VBScript.

Пути поиска программ, переменная окружения PATH. Есть очень важный момент, касающийся запуска программ в системе Windows. Когда Вы вводите командную строку, то при её запуске система Windows ищет указанную программу по своему списку каталогов (папок). Этот список называется «путь поиска» (search path), и все перечисленные каталоги поиска находятся в переменной окружения PATH, и полный список расширений, которые Windows просматривает, находится в переменной окружения PATHEXT. По умолчанию путь поиска Windows 7 включает следующие папки:

C:Windowssystem32
C:Windows
C:WindowsSystem32Wbem
C:WindowsSystem32WindowsPowerShellv1.0

Это означает, что любой файл программы, bat-файл или скрипт, если он находится в одной из этих перечисленных папок, может быть запущен из любого текущего каталога простым вводом имени (даже без расширения имени файла). Таким способом можно запустить как встроенные программы Windows (ping, calc, explorer и т. д.), так и любые программы командной строки. Например, просто введите команду notepad для запуска программы текстового редактора Блокнот (Notepad).

Если Вы создаете свои собственные bat-файлы, скрипты или программы, то хорошей идеей будет создать для них отдельную папку, и поместить путь до этой папки в пути поиска (переменную окружения PATH). Об этом будет рассказано в разделе «Установка значений переменных окружения».

[Запуск команд с повышением привилегий]

Некоторые утилиты командной строки (а иногда программы с графическим интерфейсом) требуют для своей корректной работы повышенных административных привилегий (права для пользователей и групп задаются через инструмент User Account Control). Чтобы запустить программу командной строки с повышенными привилегиями, Вы должны запустить её из командной строки (окна Command Prompt), которая сама имеет повышенные права.

Чтобы открыть окно Command Prompt с повышенными административными привилегиями, кликните Start (Пуск) -> All Programs (Все программы) -> Accessories (Стандартные). Затем сделайте правый клик на Command Prompt, и выберите Run As Administrator (запуск от имени Администратора). Или, если у Вас иконка Command Prompt прикреплена к Вашей панели задач (taskbar), есть 2 быстрых способа открыть приглашение командной строки с повышенными привилегиями:

• Сделайте правый клик на иконку, правый клик на метку Command Prompt в выпадающем меню Jump List, и выберите Run As Administrator.
• Удерживайте комбинацию клавиш Shift+Ctrl и кликните на иконку.

Предупреждение: будьте очень осторожны, когда используете командную строку с административными привилегиями. Любая команда, которая будет запущена оттуда, будет сразу работать с повышенными правами, и система UAC больше не будет предупреждать о том, что программа запускается с административными правами. Неосторожные действия администратора могут привести к повреждению системы Windows. Это также касается и запуска с повышенными привилегиями графических (GUI) программ Windows — например, если Вы введете в Windows 7 команду optionalfeatures, то откроется диалог настроек опций Windows Features, и Вы не получите окошка предупреждения перед запуском этого диалога.

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

Если Вы хотите то можете настроить ярлычок Command Prompt, прикрепленный к Панели Задач (taskbar), чтобы он по умолчанию запускался с повышенными привилегиями. Сделайте правый клик на иконку и выберите Properties (Свойства). На закладке Shortcut (Ярлык) кликните на кнопку Advanced (Дополнительно), и кликните Run As Administrator (запуск от имени администратора). Переименуйте ярлычок, чтобы он ясно обозначал запуск приглашения командной строки с повышенными привилегиями.

[Как научиться работать с программами командной строки]

Как узнать, какие программы имеются и как их использовать? Для этого обратитесь к документации по рабочему окружению командной строки (command-line environment). По какой-то причине Microsoft больше не предоставляет эту информацию в разделе справки «Help and Support», но сегодня можно найти нужную информацию онлайн, в сети Интернет, и многие программы могут сами предоставить о себе необходимую информацию по использованию. Также Вы можете обратиться к книге «Windows 7 and Vista Guide to Scripting, Automation, and Command Line Tools». Для общего поиска в Интернете запустите поисковую систему Google, и найдите список команд по первым буквам A–Z для Windows Server 2008 или Windows Server 2003. Большинство из перечисленных там команд имеются в Windows 7. Пример такой строки для поиска [2]:

site:microsoft.com command line a-z windows server

Чтобы получить дополнительную информацию по интересующей команде, попробуйте следующие методы в том порядке, в каком они перечислены ниже — на примере получения информации по команде rasdial. Та же техника может быть применена и к любой другой интересующей команде Windows.

• Большинство утилит командной строки выводит подсказку по своему использованию при добавлении опции /? к своей командной строке. Например, чтобы получить справку по команде rasdial, введите команду rasdial /? и нажмите клавишу Enter. Некоторые утилиты для вывода справки используют опцию -?, —? —h или -help.

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

— с помощью вертикальной линейки прокрутки окна Command Prompt можно прокручивать выведенный текст вверх или вниз.
— нажмите кнопку F3, чтобы вспомнить введенную команду, и добавьте в конец командной строки | more, после чего нажмите Enter. Это действие перенаправит вывод программы в команду more, которая отображает переданный на вход текст по одному экрану. Для перехода к следующему экрану нажимайте Enter.

• Введите команду help rasdial. Если выведенного текста будет очень много, используйте для чтения по частям технику, показанную выше.

• Откройте браузер Internet Explorer и введите rasdial в окне поиска (Search window). Также можно воспользоваться поисковой системой Google, если ввести в строке поиска:

site:microsoft.com rasdial

Не каждый из перечисленных способов получения подсказки может хорошо сработать для любой команды, но как минимум один из них даст объяснение, что команда делает и с какими опциями командной строки её нужно использовать, а также примеры такого использования. Опции командной строки для операционных систем Windows 7, Windows Vista, Windows XP, Windows Server 2003 и Windows Server 2008 почти всегда одни и те же, так что если Вы ищете информацию для Windows 7, то скорее всего подойдет информация, относящаяся и к другим версиям Windows.

[Копирование и вставка в окне командной строки]

Хотя можно использовать оператор перенаправления (> или >>) для вывода текста утилитами командной строки в текстовые файлы, также Вы можете использовать функцию копирования и вставки буфера обмена (cut/paste, copy/paste) для ввода текста как в окно командной строки, так и для того, чтобы брать оттуда текст.

Чтобы вставить (paste) текст в окно командной строки в позицию курсора, сделайте клик на системном меню окна командной строки (верхний левый угол окна) и выберите Edit (Редактировать) -> Paste (Вставить). Это можно проще всего сделать без использования мыши: нажмите клавиши Alt+Spacebar (откроется системное меню) и введите E P (для английской версии системы Windows) или И а (для русской версии). Для навигации по пунктам меню можно использовать клавиши со стрелками, для выбора пункта клавишу Enter.

Чтобы скопировать текст (copy) из окна командной строки в Буфер Обмена (Clipboard), кликните на системное меню и выберите Edit (Редактировать) -> Mark (Пометить). Альтернативно нажмите Alt+Spacebar E M (для английской версии) или Alt+Spacebar И П (для русской версии). После этого мышью выделите в окне командной строки прямоугольную область с нужным текстом и нажмите Enter. Это действие скопирует выделенный текст в Буфер Обмена.

По умолчанию мышь не будет выбирать текст, пока не будет выбрана функция Mark (Пометить). Это упрощает работу с программами MS-DOS, которые не рассчитаны на использование мыши. Это можно изменить, если войти в системное меню (кликом мыши или нажатием Alt+Spacebar), выбрать Defaults (Умолчания), поставить галочку Quick Edit (Выделение мышью). Когда эта опция разрешена, Вы можете использовать мышь для моментального копирования текста из консоли в Буфер Обмена, без специальной активации функции Mark (Пометить) через системное меню.

[Установка значений переменных окружения]

Использование системных переменных (Environment Variables) — один из способов, которым Windows управляет некоторыми настройками, и обменивается информацией с пользователем. В частности, эти переменные показывают, где находятся системные папки Windows, какие пути используются при поиске запускаемых программ, где находится папка для временных файлов. Также в переменных окружения хранятся и другие настройки, которые влияют на работу программ и производительность системы. Дополнительно переменные окружения могут использоваться в bat-файлах или скриптах для хранения информации о выполняемой работе.

В Windows 7 начальное значение переменных окружения, которые будут определены при запуске каждого окна Command Prompt, когда оно открыто первый раз, настраивается с помощью диалога GUI, показанного на рис. 29.2.

command line and automation tools fig29 2

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

Обратите внимание, что этот диалог поделен на 2 секции, System Variables (системные переменные) и User Variables (переменные пользователя). Нижняя секция System Variables определяет глобальные переменные окружения, которые установлены для каждой учетной записи пользователя. Верхняя секция User Variables определяет дополнительные переменные окружения по умолчанию для текущего аккаунта пользователя, который сейчас работает в систем. Они могут добавлять какие-либо переменные к System Variables, либо переназначать эти переменные.

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

• Если у Вас открыто окно командной строки Command Prompt, то введите команду start sysdm.cpl и нажмите Enter. Вам может понадобиться подтвердить запрос подтверждения системы UAC. Затем выберите закладку Advanced (Дополнительно), и кликните на кнопку Environment Variables (Переменные среды).
• Альтернативно кликните на кнопку Start (Пуск), сделайте правый клик на Computer (Мой компьютер) и выберите Properties (Свойства). Выберите Advanced System Settings (Дополнительные настройки системы). Вам может понадобиться подтвердить запрос подтверждения системы UAC. Затем кликните на кнопку Environment Variables (Переменные среды).

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

Если Вы не администратор компьютера, то запуск этого диалога немного сложнее. Используйте одну из двух следующих процедур:

• Для редактирования системных переменных Вы можете использовать один из вышеперечисленных методов, однако Вам предстоит ввести пароль администратора. Не меняйте верхнюю (персональную) часть окна диалога — Вы поменяете настройки другой учетной записи, не Вашей.
• Чтобы редактировать персональные настройки переменных окружения, Вы должны использовать следующий метод: кликните Start (Пуск) -> Control Panel (Панель Управления) -> User Accounts and Family Safety -> User Accounts (учетные записи пользователей). В списке задач левой стороны окна кликните Change My Environment Variables (Изменить мои переменные окружения). Вы сможете редактировать только свои собственные (персональные) настройки переменных из верхней части диалога.

После того, как открылся диалог Environment Variables (Переменные среды), Вы можете создавать новые переменные, удалять переменные или выбрать и редактировать существующие переменные с использованием соответствующих кнопок.

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

1. Список переменных уровня системы.
2. Список переменных пользователя. На этом шаге переменная PATH обрабатывается специальным способом (ниже это будет рассмотрено более подробно).
3. Набор команд в autoexec.nt. Это относится только для приложений MS-DOS или Windows 3.x. Для получения дополнительной информации см. раздел «Рабочее окружение MS-DOS».
4. Последующие определения, которые выдаются командами set, введенными в командной строке или которые встречаются в работающем bat-файле. Эти изменения прикладываются только к определенному окну, и исчезнут, как только это окно будет закрыто.

[Настройка переменной окружения PATH]

Если Вы пишете bat-файлы или скрипты, то полезно сохранять их в одной папке, и добавить её полное имя к переменной PATH, чтобы Вы могли запускать Ваши bat-файлы и скрипты из любого каталога простым вводом имения файла скрипта (без ввода его полного имени вместе с каталогом размещения).

Из-за того, что ошибка в редактировании переменной PATH может привести к тому, что Windows не сможет найти некоторые приложения, которые нужно запустить, предоставляется специальная обработка «персонального» определения PATH:

• Для переменной PATH определение пользовательских переменных (в разделе User Variables) добавляется в конец (приклеивается) определения системной переменной PATH (из раздела System Variables).
• Для всех других переменных окружения определение пользовательских переменных (в разделе User Variables) переназначит значение определения системных переменных (из раздела System Variables), если имена переменных из этих разделов совпадает.

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

Чтобы создать папку для своих собственных скриптов и bat-файлов, используя одну из следующих двух процедур:

• Если Вы хотите использовать скрипты и bat-файлы для своего собственного использования, то создайте папку, и поместите полный путь до неё в «персональную» переменную PATH. Например, создайте папку c:scripts, затем добавьте переменную PATH в верхнюю часть диалога Environment Variables (переменные среды, см. рис. 29.2) со значением c:scripts. Если нужно добавить больше одного пути в персональную переменную PATH, то вставляйте точку с запятой (;) между отдельными полными путями папок.
• Если Вы ходите создавать скрипты и bat-файлы, которые могут использовать любой пользователь этого компьютера (не только под Вашей учетной записью), то создайте папку и убедитесь, что настроены разрешения NTFS на запуск и чтение из неё (и/или другие необходимые права на определенные действия), так чтобы пользователи могли использовать скрипты в этой папке (если папка находится не на диске NTFS, а на диске FAT, то это не требуется).

Например, Вы создали папку c:scripts на томе NTFS. Сделайте правый клик на неё, выберите Properties (Свойства), и выберите закладку Security (Безопасность). Если пользователи (Users) не видны в разделе групп (Group) или имен пользователей (User Names), то кликните Edit, затем Add, и добавьте пользователей в список. Убедитесь, что стоит галочка разрешения на праве чтения и выполнения (Read & Execute).

Примечание: чтобы узнать больше по поводу редактирования разрешений на файлы и папки, см. [3].

Затем с осторожностью отредактируйте переменную PATH в нижней части диалога Environment Variables (Переменные среды), где изменяются системные переменные, см. рис. 29.2. Добавьте точку с запятой (;) в конец существующего текста значения переменной, и затем добавьте туда имя папки c:scripts.

Теперь Ваша папка будет частью PATH, когда Вы откроете новое окно приглашения командной строки (cmd.exe, Command Prompt window).

[Рабочее окружение MS-DOS]

Если Вы все еще используете программы MS-DOS, то должны иметь в виду, что 32-битные версии Windows 7 могут поддерживать программы MS-DOS.

Windows 7 и все другие версии Windows, основанные на Windows NT, запускают приложения MS-DOS из программы, которая называется ntvdm, она представляет для Windows NT виртуальную машину DOS (Virtual DOS Machine). Ntvdm также используется системой поддержки окружения (support environment) Windows 3.x. Она симулирует окружение, которое ожидают программы DOS, и которое позволяет им корректно работать под управлением Windows.

Ntvdm запускается автоматически, когда Вы делаете попытку запустить программу MSDOS или 16-битную программу Windows. Вам не нужно предпринимать специальные шаги для активации этой функции, но можно настроить работу таких старых приложений несколькими способами:

• Сконфигурируйте переменные пользователя в диалоге Environment Variables, как это ранее обсуждалось в разделе «Установка значений переменных окружения».
• Сделайте выбор настроек в меню управления окном DOS.
• Сделайте настройки в диалоге Properties (Свойства) ярлыка для приложения DOS.
• Настройте пользовательские конфигурационные файлы autoexec.nt и config.nt, чтобы они могли адресовать специальную память, драйвер или могли удовлетворять требованиям к переменным окружения, которые могут присутствовать у программы DOS.
• Введите команды, изменяющие окружение, в приглашении командной строки.

Эти настройки будут обсуждаться подробнее далее.

Примечание: старые приложения можно запускать с помощью программного обеспечения виртуальных машин. Больше информации о системе Virtual XP см. в Appendix A, «Using Virtualization on Windows 7» [1].

MS-DOS и 16-битные подсистемы Windows не работают на 64-битных версиях Windows. Если используете 64-битную версию Windows 7, и Вам все еще нужно запускать приложения MS-DOS или Windows 3.1, то можно загрузить и установить программу Microsoft Virtual PC с сайта microsoft.com, или использовать программное обеспечение VMWare от www.vmware.com. С любой из этих программ Вы можете настроить «виртуальный» компьютер, установить копию MS-DOS, Windows 3.1, или любой более поздней версии Windows, которая поддерживает запуск программ MS-DOS, и запустить старые приложения внутри этого симулированного рабочего окружения.

Удостоверьтесь, что установили Virtual PC «Guest Extensions» внутри хостовой операционной системы — эти расширения предоставляют важные улучшения. Например, они позволят Вам выполнять операции копирования и вставки между программами, работающими внутри и снаружи виртуального компьютера. Это не настолько легко, как встроенная поддержка старых приложений в 32-битных версиях Windows, однако работает очень хорошо.

Если у Вас Windows 7 Professional, Windows 7 Ultimate или Windows 7 Enterprise edition, то также можно использовать приложения MS-DOS, установленные в системе Virtual XP, которую можно бесплатно загрузить с сайта Microsoft.

[Если приложение MS-DOS говорит, что слишком много открытых файлов]

«Too Many Files Open» — если Вы запустили приложение MS-DOS, и получаете от него сообщение о слишком большом количестве открытых файлов, то нужно изменить config.nt (или создать пользовательский файл конфигурации). Вы должны поменять строку, которая выглядит как files = 40 на другую, где указано большее количество файлов, например files = 100. См. далее «Настройка Autoexec.nt и Config.nt», где даны инструкции по модификации config.nt.

[Приложения MS-DOS выводят странные символы]

Если старые приложения выводят некоторые кракозябры на экран, особенно в комбинации ??[, то Ваша программа ожидает поддержки драйвера ansi.sys. Вам нужно добавить следующую строку в файл config.nt, используя инструкции раздела «Настройка Autoexec.nt и Config.nt», которые найдете далее:

[Настройка дополнительных опций (Advanced Settings) для приложений DOS]

Если Вы встречаетесь с трудностями при запуске каких-то программ DOS, то можете более точно подстроить окружение VDM с учетом требований этого конкретного приложения, позволяя ему работать более качественно, или в некоторых случаях вообще позволить ему запуститься. Настройки свойств DOS могут повлиять на множество аспектов работы приложения, таких как ниже перечисленные (но не ограничиваясь ими):

• Диск и папка (директория) выбранные по умолчанию при старте приложения.
• Полноэкранный режим или работа окне.
• Использование стандартной (Conventional) памяти.
• Использование расширенной или дополнительной памяти (Expanded, extended memory).
• Уровень приоритета приложения в многопоточной среде.
• Горячие клавиши приложения.
• Видимая и фоновая обработка (Foreground, background processing).

Чтобы отредактировать эти свойства для программы DOS, выполните следующее:

1. Найдите файл программы или ярлычок для неё.
2. Сделайте на нем правый клик и выберите Properties (Свойства).

Пройдитесь по закладкам, и используйте кнопку ? (со знаком вопроса) для получения подсказок по настройкам. Обучающие программы и игры часто требуют подстройки опций Memory (память) и Compatibility (совместимость).

Замечание: если программа сохранена на разделе, отформатированном в файловой системе NTFS, то стандартная закладка Security (Безопасность) также будет среди закладок диалога Properties.

Совет: закладка Screen (экран) опций использования определяет, как изначально будет отображаться окно программы — в полный экран или в отдельном окне. Вы можете переключаться между этими режимами с помощью горячей комбинации клавиш Alt+Enter. Конечно, в полноэкранном режиме графический курсор мыши исчезнет. Когда Вы используете мышь в приложении, отображаемом как окно, то мышь будет работать со стандартными меню окна, и будет работать, когда Вы переключите контекст на Рабочий Стол (Windows desktop) или другие программы. Не требуется драйвер мыши, основанный на DOS, поддержка мыши предоставляется автоматически.

[Настройка Autoexec.nt и Config.nt]

Вы можете далее выбрать конфигурирование окружения MS-DOS и Windows 3.x модификацией эквивалента в Windows 7 для старых файлов CONFIG.SYS и AUTOEXEC.BAT. Эти файлы называются config.nt и autoexec.nt, и они используются для конфигурирования каждой DOS VDM, когда она запускаются. Просто запомните:

• Файлы CONFIG.SYS и AUTOEXEC.BAT, находящиеся в корневом каталоге жесткого диска, полностью игнорируются Windows 7. Причина, по которой они все еще там находятся — одурачить старые приложения, которые не захотят запускаться, если они не увидят, что эти файлы присутствуют.
• Файлы config.nt и autoexec.nt в каталоге windowssystem32 используются, но только тогда, когда Windows нуждается в запуске приложения MS-DOS или Windows 3.x. Любое изменение этих файлов даст эффект в следующий раз, когда Вы снова запустите старое приложение — не нужно перезапускать Windows.

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

dos=high, umb
device=%SystemRoot%system32himem.sys
files=40

Совет: на своих компьютерах автор [1] всегда меняет эти файловые настройки для установки files=100, и добавляет строку с ansi.sys (для дополнительной информации по ansi.sys см. следующую секцию):

device=%SystemRoot%system32ansi.sys

Вы можете отредактировать файлы config.nt и autoexec.nt в простом текстовом редакторе, таком как Notepad (мне больше всего нравится Notepad2 [10]). Однако это защищенные файлы, поэтому Вы должны запустить Notepad с повышением привилегий, следуя процедуре:

1. Кликните Start (Пуск) -> All Programs (Все программы) -> Accessories (Стандартные).
2. Выполните правый клик на ярлычке Notepad и выберите Run As Administrator (запуск от имени администратора).
3. Подтвердите запрос UAC, или введите запрошенный пароль учетной записи Administrator (Администратор). Альтернативно можно просто выполнить команду notepad в окне приглашения командной строки Command Prompt, запущенного с повышенными привилегиями администратора.
4. Кликните File (Файл) -> Open (Открыть), и перейдите в папку windowssystem32. Выберите файл autoexec.nt или config.nt, какой пожелаете редактировать.

Большинство настроек, используемых в MS-DOS 6, все еще будут работать в config.nt, с некоторыми изменениями, показанными в таблице 29.2.

Таблица 29.2. Расширенные настройки (Enhanced Settings) для config.nt.

Команда Описание
device= Инсталлирует загружаемые драйверы устройства. Драйверы, которые попытаются напрямую адресовать аппаратуру, вероятно работать не будут; однако Вы сможете загрузить драйверы дисплея, такие как ANSI.SYS, и драйверы памяти, такие как EMM.SYS и HIMEM.SYS.
dosonly Позволяет из COMMAND.COM загружать только программы DOS. Программы Windows и UNIX не запустятся.
echoconfig Говорит VDM напечатать команды CONFIG и AUTOEXEC, как они были выполнены из файлов.
files= Устанавливает максимальное количество одновременно открытых файлов. Рекомендуется установить этот параметр в 100.
ntcmdprompt Заменяет интерпретатор COMMAND.COM на 32-битный интерпретатор команд Windows, cmd.exe. После того, как Вы загрузите TSR (напомню, что TSR означает Terminate and Stay Resident, т. е. программа, которая после своего завершения остается резидентной в памяти), или когда Вы выходите из приложения в DOS, то получите вместо старого интерпретатора cmd.exe, который будет иметь дополнительные достоинства полного 32-битного интерпретатора.

Если Вы захотите, то можете создать измененные копии файлов config.nt и/или autoexec.nt, и просто использовать их для определенных программ DOS. Чтобы сделать это:

1. Используйте Notepad, запущенный с повышенными привилегиями, чтобы создать новый файл (файлы) настроек с разными именами. Например, Вы можете сохранить измененный config.nt под именем config_wordperfect.nt.
2. Найдите файл иконки программы MS-DOS .exe или .com в Windows Explorer (в Проводнике).
3. Сделайте правый клик на эту иконку, и выберите Properties (Свойства). Выберите закладку Program (Программа) и кликните кнопку Advanced (Дополнительные настройки). Введите путь до Вашего измененного файла конфигурации.

Совет: корректное редактирование этих файлов это Вам не два пальца об асфальт. Рекомендуется использовать хорошее руководство по DOS, такое как MS-DOS 6 User Guide, или еще лучше [9].

[Проблемы с DOSKEY и ANSI.SYS]

Двумя чаще всего использовавшимися улучшениями на компьютерах с системой MS-DOS были DOSKEY и ANSI.SYS. DOSKEY предоставлял улучшенное редактирование командной строки: например, использование клавиш со стрелками ‘вверх’ и ‘вниз’, чтобы вспомнить ранее введенные команды. ANSI.SYS давал приложениям DOS способ простого управления позицией и цветом текста, выводимого на экран.

ANSI.SYS можно сделать доступным для программ MS-DOS простым добавлением строки device=ansi.sys в файл config.nt (или альтернативный файл конфигурации). К сожалению, для 32-битных Windows не предоставляется поддержка курсора ANSI для символьных (консольных) приложений.

Примечание: если Вы делаете изменения в autoexec.nt или config.nt после запуска программы MS-DOS из окна командной строки (Command Prompt window), Вы должны закрыть окно командной строки и открыть новое для подсистемы MS-DOS, чтобы изменения были перезагружены в новой измененной конфигурации.

С другой стороны, DOSKEY — который значительно повышал удобство работы в старые времена DOS — работает только в 32-битном окружении консоли Windows, и даже если Вы попытаетесь загрузить его в autoexec.nt, он не будет функционировать в шелле COMMAND.COM системы MS-DOS.

[Bat-файлы]

Хотя интерпретатор Windows Script Host это наиболее мощный инструмент для создания Ваших собственных полезных программ, также полезно знать, как использовать язык bat-файлов. Bat-файлы (командные файлы) позволяют Вам получить преимущество от тысяч готовых программ командой строки, которые можно найти для Windows.

Bat-файл на самом простом уровне это просто список команд для окна Command Prompt, которые набраны в одном файле, строка за строкой, и этому файлу присвоено расширение *.bat или *.cmd. Когда Вы вводите имя bat-файла в приглашении командной строки, Windows ищет файл с таким именем в текущей директории и затем в путях папок, обозначенных переменной окружения PATH. Windows обрабатывает каждую строку bat-файла как команду, и запускает их одну за другой, как если бы Вы вводили их друг за другом вручную. Даже на таком самом простом уровне bat-файл окажет большую помощь, если Вам нужно вводить одинаковые команды снова и снова.

Кроме этого простого сценария использования есть несколько команд, которые можно использовать для написания простейших «программ» в bat-файле, чтобы предпринимались разные действия в зависимости от того, что было введено пользователем в командной строке, или в зависимости от результата выполнения предыдущих команд. Эти команды «программирования» значительно улучшились со времен MS-DOS, так что написание полезных bat-файлов в Windows 7 намного проще, чем это было раньше в старой MS-DOS. В частности, операторы IF и FOR были значительно расширены по функционалу. Вы можете выдавать приглашение ввода для пользователя. Можно манипулировать строками и именами файлов для выполнения арифметических вычислений. Вы можете создавать подпрограммы внутри одного файла. И это далеко не все.

Более подробно программирование bat-файлов рассмотрено в книге «Windows 7 and Vista Guide to Scripting, Automation, and Command Line Tools», опубликованной издательством Que. Некоторую документацию можно найти онлайн, в Интернете. После прочтения этой главы перейдите на сайт www.microsoft.com и запустите поиск следующих фраз:

Command Shell Overview
Environment Variables
Using Batch Parameters
Using Batch Files
Using Command Redirection Operators
Cmd
Command-Line Reference

Затем откройте окно приглашения командной строки cmd.exe и для примера поэкспериментируйте с командами:

help cmd
help set
help for
help if

См. также статьи [4, 5, 6].

Советы по созданию bat-файлов. В таблице 29.3 перечислены несколько коротких bat-файлов, которые автор [1] использует на своих компьютерах. Эти короткие скрипты дают возможность редактировать файлы, менять путь, просматривать папку в Проводнике, если просто ввести букву и далее имя папки или имя файла. В них нет ничего особенного в плане программирования, однако они позволяют экономить время при работе с окном командной строки.

Если Вы создали папку c:scripts и добавили её путь в переменную окружения PATH, как обсуждалось ранее в разделе «Настройка переменной окружения PATH», то возможно Вы захотите создать подобные bat-файлы в этой папке для своего собственного использования.

Таблица 29.3. Маленькие полезные bat-файлы.

Скрипт Описание
ap.bat:

@echo off
for %%p in (%path%) do if /%%p/ == /%1/ exit /b
set path="%1";%path%
Добавляет указанную по имени папку в PATH, если её там еще нет (это остается только пока открыто текущее окно командной строки, где выполнен этот bat-файл).

Пример: ap c:test

bye.bat:

@logout
Завершает сеанс пользователя в Windows (log off).

Пример: bye

e.bat:

@if /%1/ == // (explorer /e,.) else explorer /e,%1
Откроет Windows Explorer в режиме папки для просмотра указанной по имени папки, или текущую папку, если в командной строке не был введен путь.

Пример: e d:

h.bat:

@cd /d %userprofile%
Меняет текущую директорию на директорию Вашего профиля пользователя (домашний каталог, home).

Пример: h

n.bat:

@start notepad "%1"
Открывает в Notepad файл для редактирования.

Пример: n test.bat

s.bat:

@cd /d c:scripts
Делает папку c:scripts текущей директорией, когда Вы хотите добавить новый скрипт или редактировать старый.

Пример: s

[Windows Script Host]

С некоторого времени Microsoft старательно позаботилась о том, чтобы обеспечить программистам доступ к внутренним функциям своих коммерческих приложений, таких как Word и Excel, а также и самой Windows. Это сделано через технологию, которая называется Component Object Model, или COM. Она позволяет разрабатывать программы таким образом, чтобы они совместно использовали свои данные и функциональные возможности вместе с другими программами — в любой другой программе, написанной на любом языке программирования. Если Вы когда-либо писали макросы для Word или Excel, Вы работали со скриптами и COM. Один из продуктов этих усилий — система Windows Script Host, или WSH [7], которая предоставляет быстрый и простой способ писать свои собственные программы утилит. Скрипты WSH имеют преимущество перед bat-файлами, потому что могут выполнять более сложные вычисления и манипуляции с текстовой информацией. Это может быть осуществлено более мощным способом, потому что Вы описываете действия в полнофункциональном языке программирования.

Скрипты могут генерировать, перерабатывать, манипулировать текстовыми файлами и данными, просматривать и менять настройки Windows, и пользоваться преимуществами служб Windows через объекты COM, предоставленными как стандартная часть Windows. Дополнительно, если у Вас есть установленное приложение, где разрешена работа COM, такое как WordPerfect, Microsoft Word или Excel, то скрипты могут даже задействовать эти приложения для представления информации в качественно отформатированных документах и диаграммах.

Windows поставляется с поддержкой двух разных скриптовых языков:

• VBScript — очень близко похож на язык макросов Visual Basic for Applications (VBA), который используется в Word и Excel.
• JScript — версия языка JavaScript от Microsoft, который широко используется для создания интерактивных страниц web-сайтов (JavaScript не то же самое, что Java. Java в целом другой язык программирования).

Дополнительно Вы можете загрузить и установить поддержку скриптов на других языках. Если, к примеру, у Вас есть опыт работы в UNIX или Linux, то Вы можете захотеть использовать языки скриптов Perl, Python или TCL. Вы можете получить WSH-совместимые версии этих языков на сайте www.activestate.com.

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

Создание скриптов. Точно так же, как и bat-файлы, скрипты сохраняются как обычные текстовые файлы, которые можно редактировать с помощью Notepad или другим редактором текстовых файлов. Чтобы создать файл скрипта, выберите для него понятное описательное имя, что-то типа WorkSummaryReport, и добавьте к нему расширение, которое соответствует используемому Вами языку. Скрипт, написанный на языке VBScript, должен иметь расширение файла *.vbs.

К примеру, Вы пишете скрипт, который называется hello.vbs. Выполните для этого следующие шаги.

1. Откройте приглашение командной строки (Command Prompt) кликом Start (Пуск) -> All Programs (Все программы) -> Accessories (Стандартные) -> Command Prompt (Командная строка).

2. Окно командной строки откроется в каталоге по умолчанию usersyour_user_name (например C:Documents and Settingsимя_пользователя>). Если Вы хотите создать скрипт в другой папке, то следует ввести команду cd, чтобы поменять текущую директорию. Как уже советовалось ранее, удобнее всего создавать скрипты в одной папке, наподобие C:scripts, путь до которой добавлен в переменную окружения PATH. Но для рассматриваемого здесь примера это не важно, так что пропустим этот шаг и оставим для использования директорию по умолчанию.

3. Введите команду notepad hello.vbs. Когда редактор Notepad запросит у Вас создание нового файла, кликните Yes.

4. Введите в файле текст:

wscript.echo «Hello, this message comes from a script»

5. Сохраните скрипт через меню File (Файл) -> Save (Сохранить), или нажмите Ctrl+S. Вы можете оставить открытым окно Notepad, или закрыть его выбором в меню File (Файл) -> Exit (Выход), или нажмите Alt+F4.

6. Перейдите в окно командной строки.

7. Введите hello и нажмите клавишу Enter.

Если все хорошо, то Вы увидите окно диалога, показанное на скриншоте рис. 29.3. Кликните OK для закрытия этого окна.

command line and automation tools fig29 3

Рис. 29.3. Пример, как скрипт отображает простое текстовое сообщение.

WSH может отображать результат своей работы в графическом окне, или может показывать его в окне консоли, как это делают большинство программ командной строки. Как было показано в предыдущем примере, по умолчанию информация отображается в графическом окне, потому что по умолчанию интерпретатором для скриптов выбирается wscript. Обычно лучше поменять такой выбор по умолчанию, чтобы использовать консольный интерпретатор скрипта, который выводит текстовые сообщение в окно консоли. Чтобы сделать это, введите команду:

cscript //H:cscript //nologo //s

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

[Некоторые примеры скриптов]

Здесь даны простые примеры, чтобы показать силу WSH для выполнения полезных задач и управления в среде Windows.

Управление дисками и сетью (Disk and Network Management). WSH поставляется с инструментами для опроса и модификации дисков, папок и фалов. Здесь дан пример языка VBScript, который выполняет довольно полезную задачу:

set fso = CreateObject("Scripting.FileSystemObject")
set drivelist = fso.Drives
for each drv in drivelist
   if drv.IsReady then
      wscript.echo "Drive", drv.DriveLetter, "has", drv.FreeSpace, "bytes free"
   end if
next

Скрипт отображает свободное пространство на каждом из дисков компьютера. Введите этот скрипт в файл с именем freespace.vbs, поместите его в Ваш каталог скриптов, и затем в строке приглашения команд введите команду freespace. Будет выведено примерно следующее:

Drive C: has 15866540032 bytes free
Drive D: has 27937067008 bytes free
Drive F: has 335872000 bytes free
Drive H: has 460791808 bytes free

WSH также может работать и с сетью. Следующий скрипт VBScript отобразит текущие привязки сетевых дисков Вашего компьютера:

set wshNetwork = CreateObject("WScript.Network") ' создается вспомогательный объект
set maps = wshNetwork.EnumNetworkDrives          ' сборка, описывающая сетевые диски
for i = 0 to maps.Length-2 step 2                ' цикл по сборке
   wscript.echo "Drive", maps.item(i), "is mapped to", maps.item(i+1)
next

[Windows Management Instrumentation]

Windows Management Instrumentation (WMI) это системная служба, которая дает виртуальный доступ к каждому аспекту компьютерной системы Windows, от компонентов аппаратуры до высокоуровневых системных служб [8]. Для некоторых компонентов WMI представляет только информацию. Другие компоненты можно поменять, и таким образом, как подразумевает имя WMI, эту технологию можно использовать для управления системой. Вы можете использовать WMI для запуска и остановки системных служб, отслеживания работы приложений и их остановки, создание привязки дисков к папкам и сетевым каталогам, давать общий доступ к папкам, и если установлены соответствующие обновленные драйверы WMI, можно даже управлять системными службами, такими как Internet Information Services, Microsoft Exchange, и Domain Name Service на операционной системе Windows Server.

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

set services = GetObject"winmgmts:{impersonationlevel=impersonate," &_
               "authenticationlevel=pkt}!" &_
               "/root/CIMV2:Win32_Service")  ' получение информации WMI по службам
for each svc in services.Instances_          ' отображение информации о каждой службе
   wscript.echo svc.name, "State:", svc.State, "Startup:", svc.StartMode
next

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

AeLookupSvc State: Stopped Startup: Manual
ALG State: Stopped Startup: Manual
AppIDSvc State: Stopped Startup: Manual
Appinfo State: Running Startup: Manual
AppMgmt State: Stopped Startup: Manual

Также помните, что для программ и скриптов командной строки можно использовать перенаправление вывода консоли в файл. К примеру, следующая команда поместит список служб в файл listing.txt точно так же, как это сделала бы любая другая традиционная программа Windows:

showservices >listing.txt

[Windows PowerShell]

Microsoft разработала новую рабочую среду командной строки, которая называется Windows PowerShell (WPS). Она установлена как стандартный аксессуар начиная с Windows 7 (вероятно, Биллу Гейтсу не давала покоя стройная система взаимодействия консольных программ в мире *NIX). WPS чаще всего выглядит и действует как окно программной строки, но на самое деле это очень странная сущность, которая дает доступ к некоторым очень мощным инструментам программирования. Здесь не будет полного описания, как использовать WPS, но будет показано, чем отличаются bat-файл и скрипты, и будут указаны ресурсы, которые помогут научиться большему.

Для описания WPS автор использует слово «странный». Может ли компьютерная программа быть странной? Определенно! С одной стороны, большинство команд Windows PowerShell (которые правильно называть cmdlet) генерируют потоки объектов, не текст. Объекты это попытка представления в компьютере вещей из реального мира. У них есть свойства, которые описывают атрибуты вещей, которые они представляют, и методы, которые позволяют Вам управлять вещами. Например, объект представляет определенный файл на жестком диске, и у него есть свойства Name (имя), Size (размер) и LastWriteTime (последнее время записи), и методы наподобие Delete (удалить), Edit (редактировать) и Open (открыть). Windows PowerShell работает с объектами в новым, необычным и в конечном счете очень мощным способом.

Если Вы введете команду dir в обычном окне Command Prompt, то среда интерпретации команд обработает dir и в ответ вернет блок текста листинга, где будут присутствовать имена файлов и папок текущего каталога. Команда dir была специально запрограммирована для печати текстовой информации о файлах в текстовом виде. И это все, что она может делать.

В системе WPS Вы можете ввести dir, и это также приведет к печать списка файлов, но неявно, за сценой происходит нечто совершенно другое. В WPS это просто краткая ссылка на Get-Childitem cmdlet, который при самом простом использовании генерирует поток объектов File; каждый объект представляет один из файлов в папке, и у каждого такого объекта есть свойства и методы (например, имя и размер). Когда объект (любого сорта) попадает в окно приглашения WPS, то система WPS печатает строку текста об объекте с наиболее важными его свойствами. Для объекта File это включает имя файла, размер и дату создания. Таким образом, когда Вы вводите dir, WPS генерирует поток объектов File и он представляется как красивый, разделенный табуляциями список файлов.

Конечный результат выглядит так же, как и в старом рабочем окружении командной строки, но все происходит более абстрактным способом. Cmdlet не знает, или не заботится о тексте или форматировании: он просто генерирует набор объектов File. И окно WPS превратит любой список объектов в удобочитаемый текстовый листинг. Файлы, учетные записи пользователей, службы Windows, и т. д. — любой объект, который выбрасывает соответствующий cmdlet, система WPS превращает в своей консоли в удобный листинг текста.

Дополнительно WPS включает в себя полнофункциональный объектно-ориентированный язык программирования, который имеет доступ к платформе программирования .NET компании Microsoft. Это означает, что скрипты WPS могут выполнять более сложные вычисления и обмениваться информацией с другими компьютерами и сетевыми («облачными») сервисами.

WPS даже позволяет Вам делать сложные вещи с объектами без программирования. Вы можете использовать символ канала | для направления потоков объектов от одного cmdlet к другому, и это позволяет выполнять очень сложные, специфические действия с инструментами, которые по отдельности очень простые и по природе выглядят самыми обычными. Например, следующая команда удалит все файлы в текущем каталоге, которые старше 6 месяцев:

dir | where-object {$_.LastWriteTime -lt (get-date).addmonths(-6)} | remove-item

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

• dir дает список объектов File в текущей директории. Здесь они не попадают в окно команд WPS, если бы это было так, то был бы выведен текстовый список. Но здесь вместо этого символ канала (pipe, |) инструктирует WPS передавать объекты следующей команде.
• where-object пропускает через себя некоторые объекты, основываясь на условии фильтрации внутри фигурных скобок. В этом примере пропускаются только те файлы, которые не изменялись больше 6 месяцев (здесь значение LastWriteTime меньше чем дата/время 6 месяцев ранее). Таким образом, эти объекты представляют собой просто старые файлы, которые канализируются в следующую команду.
• remove-item удаляет с жесткого диска файлы, соответствующие поступающим на вход объектам.

Предупреждение: не открывайте просто так окно WPS и не вводите эту команду, только чтобы увидеть, что получится! Возможно, что Вы удалите важные файлы из папки профиля текущего пользователя. Если Вы хотите посмотреть, как работает этот скрипт, введите первые 2 части этой команды (это напечатает список выбранных файлов, но не удалит их):

dir | where-object {$_.LastWriteTime -lt (get-date).addmonths(-6)}

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

Для дополнительной информации про WPS, см. ресурсы в Интернете, и книжку «Windows 7 and Vista Guide to Scripting, Automation, and Command Line Tools» или «Windows PowerShell 2.0 Unleashed».

[Планировщик Задач (Task Scheduler)]

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

Сама по себе служба Task Schedule незначительно влияет на производительность системы, хотя задачи, которые эта служба запускает, могут влиять. Однако Вы можете инструктировать не запускать определенные задачи, когда система чем-то загружена. Вы можете захотеть сделать это, например, для тех задач, которые генерируют некоторую дисковую активность.

Замечание: когда Task Scheduler запускает задачу, которая работает от имени другого пользователя (который в настоящее время не вошел в систему), то другой пользователь, который сейчас вошел в систему, не увидит, как работает запущенная задача, и не сможет с ней взаимодействовать. Удостоверьтесь, что задачи могут работать самостоятельно, без ввода пользователя, и чисто завершаться после выполнения своей работы. И еще имейте в виду, что как только приложение или сервис заработали, даже если они были запущены как задача планировщика, они будут влиять на производительность системы так же, как если бы они были запущены вручную.

Какие виды задач можно запускать через Task Scheduler? Как уже упоминалось, это те задачи, которые не требуют взаимодействия с пользователем. Например, это может быть типовая задача обслуживания, такая как дефрагментация жесткого диска, очистка папок от временных файлов, и так далее. Windows использует Task Scheduler для подобных целей, поэтому Вы можете заметить, что после установки Windows могут быть определены некоторые запланированные задачи. Task Scheduler также может ожидать появления любого события, которое может быть записано в Event Log.

Task Scheduler особенно полезен для запуска bat-файлов и скриптов, потому что эти запланированные программы могут быть разработаны для запуска без какого-либо взаимодействия с пользователем. Это действительно важный инструмент автоматизации, потому что Вы даже можете не быть за компьютером, когда они работают!

Есть 2 типа задач, которые Вы можете создать в Task Scheduler:

• Базовые задачи — разрабатываются для запуска с использованием текущей учетной записи пользователя, и поддерживают одно сработавшее событие или настроены на нужный момент времени.
• Задачи — могут быть запущены от указанной учетной записи пользователя, и могут быть сконфигурированы для запуска в любом случае, залогинен пользователь в системе, или нет. Задачи также могут быть запущены в режиме совместимости с Windows XP или Windows Server 2003 (compatibility mode), и могут быть запущены с приоритетом выше обычного, если это необходимо.

Замечание: очевидно, что компьютер должен находится в рабочем состоянии для запуска задачи, поэтому если Вы ожидаете очистки диска в 4:00 a.m., то гарантируйте, что в это время компьютер включен. Если запуск запланированной задачи был пропущен из за того, что компьютер был выключен, то Windows выполнит задачу в следующий раз, когда компьютер будет запущен, но задача теперь скорее всего будет работать, когда Вы используете компьютер, хотя вероятно Вы этого хотели избежать, когда планировали запуск задачи ночью.

Чтобы создать «базовую» задачу в Task Scheduler, выполните следующие шаги:

1. Запустите Task Scheduler, окно Task Scheduler отобразит в верхней центральной части общий список задач, которые запущены и/или завершились в последние 24 часа, и покажет список активных задач ниже. Здесь «активная задача» означает, что задача разрешена для запуска в указанное время или при указанном событии. Не обязательно, что «активная» означает задачу, которая работает прямо сейчас.

2. Область Add Actions (добавить действие) находится с правой стороны. Кликните Create Basic Task (создать базовую задачу). Запустится мастер для создания базовой задачи (Create Basic Task Wizard).

3. Введите имя задачи и её описание. Здесь можно ввести все что хотите, чтобы напоминать о том, что задача делает. Кликните Next (Далее) чтобы продолжить.

4. В окне Task Trigger (настройка условия запуска), выберите, когда запускать задачу. Вы можете выбрать запуск ежедневно (daily), еженедельно (weekly), каждый месяц (monthly), или однократно (one time); когда компьютер запуститься, когда Вы вошли под учетной записью (log on), или когда было записано в лог определенное событие. Вы можете использовать опцию, когда определенное событие записано (When a Specific Event Is Logged), чтобы задача сработала, когда записывается в Event Log нужное событие. Например, Вы можете использовать это для выполнения оповещений определенного типа, если произойдет событие ошибки диска. Вам понадобится ввести цифровой номер ID для идентификации события.

5. Кликните Next.

6. Задайте опции применимого времени, такого как время дня, как это необходимо. Кликните Next.

7. Выберите, что должна делать задача (открыть программу, послать email, или отобразить сообщение). Кликните Next для продолжения.

8. Если Вы выбрали Start a Program (запуск программы), используйте кнопку Browse, чтобы указать программу, bat-файл или скрипт. Для приложений Windows открывайте папку Windows или Windowssystem32. Для сторонних приложений просмотрите подкаталоги в папке Program Files. Для скриптов, которые Вы написали сами, откройте папку, где сохранен нужный скрипт или bat-файл. Когда предоставили необходимые опции или настойки командной строки, если хотите указать диск по умолчанию или папку для программы, введите путь до нужной папки.

Если Вы выбрали Send an Email (отправить электронное письмо), введите информацию об отправителе, получателе, сервере SMTP, сообщение (sender, receiver, SMTP email server, message), и т. д.

Если Вы выбрали Display a Message (отобразить сообщение), то введите заголовок сообщения (message title) и текст сообщения (message text). Затем кликните Next.

9. Просмотрите задачу в окне Summary (см. рис. 29.4). Если Вы хотите установить дополнительные опции (advanced options), такие как время ожидания, что делать если компьютер работает от батарей, и что делать после завершения задачи, проверьте Open Advanced Properties (открыть дополнительные опции) для этой задачи. Кликните Finish для завершения задачи.

command line and automation tools fig29 4

Рис. 29.4. Завершение конфигурации базовой задачи.

Для более продвинутого планирования используйте выбор Create Task (создать Задачу). Интерфейс Create Task использует интерфейс с множеством закладок вместо мастера. Закладка General включает опции безопасности, в то время как закладка Triggers позволяет Вам указать несколько условий (триггеров) для запуска задачи (задача будет выполнена, когда произошло любое из указанных событий). Закладка Actions поддерживает несколько действий в задаче, закладка Conditions включает опции для конфигурирования требований к времени ожидания (idle time), питанию (power), и сетевому соединению, и закладка Settings поддерживает условия для запуска и остановки задачи. Используйте Create Task вместо Create Basic Task, когда Вам нужно настроить эти дополнительные опции в своей задаче.

[Ссылки]

1. Microsoft Windows 7 In Depth site:docs.google.com.
2. Command-line reference AZ — TechNet — Microsoft site:technet.microsoft.com.
3. NTFS File Permissions site:ntfs.com.
4. Практические приемы программирования в bat-файлах.
5. Применение команды for в bat-файлах (technet.microsoft).
6. О параметрах командных файлов и не только.
7. Windows Script Host на базе VBScript (*.vbs).
8. Не знаете, что такое WMI? Тогда мы идем к Вам!
9. Microsoft DOS and Windows Command Line site:computerhope.com.
10. Замена Windows notepad на notepad2.
11. 170813command-line-and-automation-tools.zip — документация.

Обновлено: 05.02.2023

В данной статье будут рассмотрены основы командной строки Windows, а именно:

  • Понятие командной строки;
  • Справочник по командам командной оболочки;
  • Последовательность событий при выполнение команды;
  • Создание сценариев командной строки;
  • Управление отображением текста и команд;
  • Команды для изучение системной информации;
  • Команды для использования реестра;
  • Управление системными службами;
  • Перезагрузка и выключение систем из командной строки;
  • Управление приложениями и процессами из командной строки.

Понятие командной строки

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

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

Среду командной оболочки Windows запускают разными способами, в частности указывая параметры при запуске Cmd.exe или используя собственный стартовый файл, хранящийся в каталоге %SystemRoot%System32.

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

  • Внутренние – существуют внутри командной оболочки, у них нет отдельных исполняемых файлов;
  • Внешние — реализованы в отдельных исполняемых файлах, которые обычно хранятся в каталоге %SystemRoot% System32.

Краткий справочник по командам командной оболочки (Cmd.exe)

  • 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 — показывает метку и серийный номер дискового тома.

Синтаксис любой внутренней команды (и большинства внешних) можно получить, введя в командной строке имя команды и /?, например:

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

Последовательность событий при выполнение команды

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

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

Создание сценариев командной строки

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

Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды:

Управление отображением текста и команд

Команда ECHO служит двум целям: для записи текста в вывод (например, в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing).

Чтобы использовать команду ECHO для отображения текста, введите echo и текст, который надо вывести:

Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например:

Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите echo off, затем другие команды. Вы увидите, что приглашение командной строки больше не выводится. Вместо него появляется только то, что набирается в консольном окне, и вывод выполненных команд. В сценариях команда ECHO OFF отключает эхо-отображение команд и приглашение командной строки. Добавляя в свои сценарии команду ECHO OFF, вы предотвращаете загромождение окна командной оболочки или файла текстом команд, если Вас интересует лишь вывод от этих команд.

Изучение системной информации

Чтобы использовать NOW или WHOAMI, просто введите команду в окне командной оболочки и нажмите Enter. Наиболее распространенный синтаксис для WHERE выглядит так:

Здесь параметр /r указан для рекурсивного поиска, начиная от указанного каталога (базовый_каталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data. txt или data*.*. В следующем примере в каталоге С: и всех его подкаталогах выполняется поиск всех текстовых файлов, имена которых начинаются с data.

Также можно найти файлы всех типов, имена которых начинаются с data:

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

  • DRIVERQUERY — выводит список всех установленных драйверов устройств и их свойства, в том числе имя модуля (module name), отображаемое имя (display name), тип драйвера и дату сборки (driver link date). В режиме отображения всей информации (/V) сообщается статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе. Параметр /V также включает вывод детальной информации обо всех неподписанных драйверах.
  • SYSTEMINFO — выдает подробную информацию о конфигурации системы, в том числе сведения о версии, типе и изготовителе операционной системы, процессоре, версии BIOS, объеме памяти, региональных стандартах, часовом поясе и конфигурации сетевого адаптера.
  • NLSINFO — отображает подробную информацию о региональных стандартах, включая язык по умолчанию (default language), кодовую страницу Windows, форматы отображения времени и чисел, часовой пояс и установленные кодовые страницы. Эта команда доступна лишь в Windows Server 2003 Resource Kit.

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

Команды для использования реестра

Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры.

Если Вы знаете пути к разделам и понимаете допустимые типы данных в разделах, то можете использовать команду REG для просмотра разделов и параметров и манипуляций над ними самыми разнообразными способами. REG поддерживает несколько подкоманд:

  • REG add — добавляет в реестр новый подраздел или элемент;
  • REG delete — удаляет из реестра подраздел или элемент;
  • REG query — выводит список элементов раздела и имена подразделов (если они есть);
  • REG compare — сравнивает подразделы или элементы реестра;
  • REG сору — копирует элемент реестра по указанному пути раздела на локальной или удаленной системе;
  • REG restore — записывает в реестр ранее сохраненные подразделы, элементы и параметры;
  • REG save — сохраняет копию указанных подразделов, элементов и параметров реестра в файл.

Управление системными службами

Службы обеспечивают ключевые функции рабочих станций и серверов. Для управления системными службами на локальных и удаленных системах используется команда контроллера служб (service controller command) SC, имеющая набор подкоманд, ниже описывается лишь их часть:

  • SC config — настройка учетных записей регистрации и запуска служб;
  • SC query — вывод списка всех служб, настроенных на компьютере;
  • SC qc — отображение конфигурации определенной службы;
  • SC start — запуск служб;
  • SC stop — остановка служб;
  • SC pause — приостановка работы служб;
  • SC continue — возобновление работы служб;
  • SC failure — задание действий, выполняемых при сбое службы;
  • SC qfailure — просмотр действий, выполняемых при сбое службы.

Во всех командах можно указывать имя удаленного компьютера, со службами которого Вы хотите работать. Для этого вставьте UNC-имя или IP-адрес компьютера перед используемой подкомандой. Вот синтаксис:

Перезагрузка и выключение систем из командной строки

Системы нередко приходится перезагружать или выключать. Один из способов — использовать для этого утилиту Shutdown, которая позволяет работать с локальной и удаленными системами. Другой способ управлять выключением или перезагрузкой системы — назначить задание для выключения. Здесь можно использовать Schtasks, чтобы указать время выключения, или создать сценарий со списком команд выключения для индивидуальных систем.

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

Выключение локальной системы:

Перезагрузка локальной системы:

Управление приложениями, процессами и производительностью

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

Вот в принципе все, что я хотел рассказать об основах командной строки Windows.

Аннотация: Описываются стандартные (входящие в поставку операционной системы) программные средства для автоматизации администрирования и повседневной работы в Microsoft Windows. Обсуждаются возможности командного интерпретатора Cmd.exe, сервера сценариев WSH и оболочки Windows PowerShell

Эволюция инструментов для автоматизации работы в Microsoft Windows

В настоящее время графический интерфейс Windows стал настолько привычным, что многие пользователи и начинающие администраторы даже не задумываются (а зачастую и просто не знают) об альтернативных способах управления данной операционной системой, связанных с командной строкой ( command line ) и различными сценариями (scripts), о тех преимуществах, которые дают эти инструменты с точки зрения автоматизации работы, то есть решения различных задач в автоматическом режиме, без участия человека. Подобная ситуация обусловлена тем, что исторически командная строка всегда была слабым местом операционной системы Windows (по сравнению с Unix-системами). Причиной этого, в основном, является то, что изначально компания Microsoft ориентировалась на широкую аудиторию неискушенных пользователей, не желающих особо вникать в технические детали выполнения тех или иных действий в системе. Поэтому основные усилия разработчиков операционной системы направлялись на улучшение графической оболочки для более комфортной работы непрофессионалов, а не на создание рабочей среды для специалистов или опытных пользователей.

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

Однако подобная модель управления не является масштабируемой: если администрировать не один, а десять серверов, используя стандартные графические инструменты, то одну и ту же последовательность изменения элементов управления в диалоговых окнах придется повторить десять раз, следовательно, в этом случае остро встает вопрос об автоматизации выполнения рутинных операций (например, проведение инвентаризации оборудования и программного обеспечения, мониторинг работы служб, анализ журналов событий и т.д.) на множестве компьютеров. Помочь в этом могут либо специальные (как правило тяжеловесные и недешевые) приложения типа Microsoft Systems Management Server ( SMS ), либо сценарии, которые пишутся администраторами самостоятельно (на языке оболочки командной строки или на специальных языках сценариев) и поддерживаются непосредственно операционной системой, без установки сторонних программных продуктов.

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

Каким же нам хотелось бы видеть инструмент для автоматизации работы в операционной системе, какими возможностями он должен обладать? Желательно, чтобы в нем было реализовано следующее:

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

В Unix-системах в качестве инструмента автоматизации выступает стандартная оболочка ( shell ) или ее модификации (bashell, kshell, cshell и т.д.), причем этот аспект операционной системы стандартизирован в рамках POSIX (стандарт мобильных систем).

В операционной системе Windows дело обстоит сложнее. На сегодняшний день одного «идеального» средства автоматизации , удовлетворяющего сразу всем перечисленным выше требованиям, в Windows нет; в последних версиях операционной системы поддерживаются несколько стандартных инструментов автоматизации, сильно отличающихся друг от друга: оболочка командной строки cmd.exe, среда выполнения сценариев Windows Script Host и оболочка Microsoft PowerShell. Поэтому администратору или пользователю Windows приходится выбирать, каким именно подходом воспользоваться для решения определенной задачи, а для этого желательно иметь четкое представление о сильных и слабых сторонах данных средств автоматизации. Здесь мы кратко обсудим достоинства и недостатки каждого из них (теоретические и практические подробности будут рассмотрены в последующих лекциях).

Во всех версиях операционной системы Windows поддерживается интерактивная оболочка командной строки (command shell) и по умолчанию устанавливается определенный набор утилит командной строки (количество и состав этих утилит зависит от версии операционной системы). Вообще, любую операционную систему можно представить в виде совокупности ядра системы, которое имеет доступ к аппаратуре и оперирует файлами и процессами, и оболочки (командного интерпретатора) с утилитами, которые позволяют пользователю получить доступ к функциональности ядра операционной системы. Механизм работы оболочек в разных системах одинаков: в ответ на приглашение («подсказку», prompt), выдаваемое находящейся в ожидании оболочкой, пользователь вводит некоторую команду (функциональность этой команды может быть реализована либо самой оболочкой, либо определенной внешней утилитой), оболочка выполняет ее, при необходимости выводя на экран какую-либо информацию, после чего снова выводит приглашение и ожидает ввода следующей команды.

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

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

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

Таким образом, оболочка командной строки MS-DOS изначально уступала Unix-оболочкам по удобству работы и развитости языка сценариев; в командной оболочке Windows (cmd.exe), несмотря на все сделанные улучшения, не удалось преодолеть данное отставание ни в режиме интерактивной работы (например, в cmd.exe отсутствует поддержка псевдонимов для длинных названий команд и не реализовано автоматическое завершение команд при вводе их с клавиатуры), ни в синтаксисе или возможностях языка командных файлов. Ситуация усугублялась тем, что Windows всегда проигрывала Unix-системам в количестве и функциональных возможностях стандартных (не требующих дополнительной установки) утилит командной строки, а также в качестве и полноте встроенной справочной системы по командам оболочки.

На практике проблему отсутствия нужной функциональности у стандартных команд приходится решать либо с помощью утилит пакета Windows Resource Kit для соответствующей версии операционной системы, либо путем поиска подходящей утилиты сторонних производителей. Кроме того, в Windows можно пользоваться POSIX-совместимыми утилитами и оболочками с помощью пакета Microsoft Services For Unix (SFU). Данный продукт разрабатывался еще для Windows NT и первоначально не входил в состав операционной системы, его нужно было приобретать за отдельную плату. В дальнейшем пакет SFU стал бесплатным и даже был включен в состав операционной системы Windows Server 2003 R2.

Windows

Инструменты и приложения командной строки в Windows

Подробная информация о некоторых доступна здесь:

Шифр | ЧкДск | Аттриб | CMD | Cleanmgr | Diskpart.

Посмотрите это Справочное руководство по средствам командной строки Windows от Microsoft.

В настоящее время графический интерфейс Windows стал настолько привычным, что многие пользователи и начинающие администраторы даже не задумываются (а зачастую и просто не знают) об альтернативных способах управления данной операционной системой, связанных с командной строкой (command line) и различными сценариями (scripts), о тех преимуществах, которые дают эти инструменты с точки зрения автоматизации работы, то есть решения различных задач в автоматическом режиме, без участия человека. Подобная ситуация обусловлена тем, что исторически командная строка всегда была слабым местом операционной системы Windows (по сравнению с Unix-системами). Причиной этого, в основном, является то, что изначально компания Microsoft ориентировалась на широкую аудиторию неискушенных пользователей, не желающих особо вникать в технические детали выполнения тех или иных действий в системе. Поэтому основные усилия разработчиков операционной системы направлялись на улучшение графической оболочки для более комфортной работы непрофессионалов, а не на создание рабочей среды для специалистов или опытных пользователей.

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

Однако подобная модель управления не является масштабируемой: если администрировать не один, а десять серверов, используя стандартные графические инструменты, то одну и ту же последовательность изменения элементов управления в диалоговых окнах придется повторить десять раз, следовательно, в этом случае остро встает вопрос об автоматизации выполнения рутинных операций (например, проведение инвентаризации оборудования и программного обеспечения, мониторинг работы служб, анализ журналов событий и т.д.) на множестве компьютеров. Помочь в этом могут либо специальные (как правило тяжеловесные и недешевые) приложения типа Microsoft Systems Management Server (SMS), либо сценарии, которые пишутся администраторами самостоятельно (на языке оболочки командной строки или на специальных языках сценариев) и поддерживаются непосредственно операционной системой, без установки сторонних программных продуктов.

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

Каким же нам хотелось бы видеть инструмент для автоматизации работы в операционной системе, какими возможностями он должен обладать? Желательно, чтобы в нем было реализовано следующее:

· работа в разных версиях операционной системы (желательно во всех) без установки какого-либо дополнительного программного обеспечения;

· интеграция с командной строкой (непосредственное выполнение вводимых с клавиатуры команд);

· согласованный и непротиворечивый синтаксис команд и утилит;

· наличие подробной встроенной справки по командам с примерами использования;

· возможность выполнения сценариев, составленных на простом для изучения языке;

· возможность использования всех технологий, поддерживаемых операционной системой.

В Unix-системах в качестве инструмента автоматизации выступает стандартная оболочка (shell) или ее модификации (bashell, kshell, cshell и т.д.), причем этот аспект операционной системы стандартизирован в рамках POSIX (стандарт мобильных систем).

Инструменты и приложения командной строки, доступные в ОС Windows

Инструменты и приложения командной строки в Windows

Подробная информация о некоторых доступна здесь:

Шифр | ЧкДск | Аттриб | CMD | Cleanmgr | Diskpart.

Посмотрите это Справочное руководство по средствам командной строки Windows от Microsoft.

4 инструмента командной строки Windows

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

System File Checker

Функция System File Checker (SFC) предназначена для проверки целостности системных файлов и реестра. Данный инструмент сканирует и восстанавливает системные файлы (или ключи реестра) из кэш-версии оригинальных файлов Windows, что может помочь в ситуациях, когда операционная система или отдельные ее функции работают некорректно.

Чтобы запустить эту программу в Windows 10, 8.x, 7 или Vista, откройте командную строку с правами администратора и выполните следующую команду:

Driverquery

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

Чтобы запустить эту утилиту, откройте командную строку и выполните следующую команду:

По умолчанию данные будут представлены в виде таблицы. Если вы хотите изменить формат отображения (список и csv), используйте параметр /fo. Например:

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

Проверка диска

IPConfig

IPConfig является одной из наиболее часто используемых команд Windows и используется, когда необходимо узнать IP-адрес компьютера и получить сведения обо всех TCP/IP соединениях, сетевых адаптерах и сетевых компьютерах. Кроме того, в сочетании с различными параметрами эту команду можно использовать для очистки DNS-кэша, освобождения или обновления IP-адреса для определенного сетевого адаптера (если задан) или для всех.

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

Команды командной строки Windows: список

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

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

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

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

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

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

В этой статье вы найдете список команд командной строки. В таблице собраны основные команды командной строки, работающие в операционных системах Windows 10, Windows 8,1, Windows 8, Windows 7.

Как запустить командную строку

В Windows 10 сразу найти командную строку неочевидно, поэтому прочитайте эту статью о разных способах запуска консоли в этой ОС.

В операционной системе Windows имеется несколько способов для запуска командной строки, вот самые простые:

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

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

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

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

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

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

Команды для командной строки Виндовс

В интерфейсе командной строки отобразится список основных команд.

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

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

Командная строка Windows: список основных команд

Ознакомьтесь с таблицей, в которой собраны команды, используемые в командной строке Windows. Если я пропустил какую-нибудь важную команду, напишите об этом в комментарии к этой статье, я добавляю команду в таблицу.

Выводы статьи

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

Читайте также:

      

  • Теория сигналов и психические процессы кратко
  •   

  • Уникальный это определение 4 класс кратко
  •   

  • Формирование экологической компетентности в начальной школе
  •   

  • Презентация сюжетно ролевые игры в детском саду в соответствии фгос
  •   

  • Методика преподавания музыки в начальной школе учебник

Аннотация: Описываются стандартные (входящие в поставку операционной системы) программные средства для автоматизации администрирования и повседневной работы в Microsoft Windows. Обсуждаются возможности командного интерпретатора Cmd.exe, сервера сценариев WSH и оболочки Windows PowerShell

Эволюция инструментов для автоматизации работы в Microsoft Windows

В настоящее время графический интерфейс Windows стал настолько привычным, что многие пользователи и начинающие администраторы даже не задумываются (а зачастую и просто не знают) об альтернативных способах управления данной операционной системой, связанных с командной строкой (command line) и различными сценариями (scripts), о тех преимуществах, которые дают эти инструменты с точки зрения автоматизации работы, то есть решения различных задач в автоматическом режиме, без участия человека. Подобная ситуация обусловлена тем, что исторически командная строка всегда была слабым местом операционной системы Windows (по сравнению с Unix-системами). Причиной этого, в основном, является то, что изначально компания Microsoft ориентировалась на широкую аудиторию неискушенных пользователей, не желающих особо вникать в технические детали выполнения тех или иных действий в системе. Поэтому основные усилия разработчиков операционной системы направлялись на улучшение графической оболочки для более комфортной работы непрофессионалов, а не на создание рабочей среды для специалистов или опытных пользователей.

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

Однако подобная модель управления не является масштабируемой: если администрировать не один, а десять серверов, используя стандартные графические инструменты, то одну и ту же последовательность изменения элементов управления в диалоговых окнах придется повторить десять раз, следовательно, в этом случае остро встает вопрос об автоматизации выполнения рутинных операций (например, проведение инвентаризации оборудования и программного обеспечения, мониторинг работы служб, анализ журналов событий и т.д.) на множестве компьютеров. Помочь в этом могут либо специальные (как правило тяжеловесные и недешевые) приложения типа Microsoft Systems Management Server (SMS), либо сценарии, которые пишутся администраторами самостоятельно (на языке оболочки командной строки или на специальных языках сценариев) и поддерживаются непосредственно операционной системой, без установки сторонних программных продуктов.

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

При этом, однако, неправильно было бы думать, что командная строка или сценарии нужны только администраторам. Ведь ежедневные рутинные задачи пользователей (связанные, например, с копированием или архивированием файлов, подключением или отключением сетевых ресурсов и т.п.), которые обычно выполняются с помощью графического интерфейса проводника Windows, можно полностью самостоятельно автоматизировать, написав нехитрый командный файл, состоящий всего из нескольких строчек! Более того, для человека, не знающего основные команды Windows и такие базовые возможности операционной системы, как перенаправление ввода/вывода и конвейеризация команд, некоторые простейшие задачи могут показаться нетривиальными. Попробуйте, например, пользуясь только графическими средствами, сформировать файл, содержащий имена файлов из всех подкаталогов какого-либо каталога! А ведь для этого достаточно выполнить единственную команду DIR (с определенными ключами) и перенаправить вывод этой команды в нужный текстовый файл.

Каким же нам хотелось бы видеть инструмент для автоматизации работы в операционной системе, какими возможностями он должен обладать? Желательно, чтобы в нем было реализовано следующее:

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

В Unix-системах в качестве инструмента автоматизации выступает стандартная оболочка (shell) или ее модификации (bashell, kshell, cshell и т.д.), причем этот аспект операционной системы стандартизирован в рамках POSIX (стандарт мобильных систем).

В операционной системе Windows дело обстоит сложнее. На сегодняшний день одного «идеального» средства автоматизации, удовлетворяющего сразу всем перечисленным выше требованиям, в Windows нет; в последних версиях операционной системы поддерживаются несколько стандартных инструментов автоматизации, сильно отличающихся друг от друга: оболочка командной строки cmd.exe, среда выполнения сценариев Windows Script Host и оболочка Microsoft PowerShell. Поэтому администратору или пользователю Windows приходится выбирать, каким именно подходом воспользоваться для решения определенной задачи, а для этого желательно иметь четкое представление о сильных и слабых сторонах данных средств автоматизации. Здесь мы кратко обсудим достоинства и недостатки каждого из них (теоретические и практические подробности будут рассмотрены в последующих лекциях).

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

Во всех версиях операционной системы Windows поддерживается интерактивная оболочка командной строки (command shell) и по умолчанию устанавливается определенный набор утилит командной строки (количество и состав этих утилит зависит от версии операционной системы). Вообще, любую операционную систему можно представить в виде совокупности ядра системы, которое имеет доступ к аппаратуре и оперирует файлами и процессами, и оболочки (командного интерпретатора) с утилитами, которые позволяют пользователю получить доступ к функциональности ядра операционной системы. Механизм работы оболочек в разных системах одинаков: в ответ на приглашение («подсказку», prompt), выдаваемое находящейся в ожидании оболочкой, пользователь вводит некоторую команду (функциональность этой команды может быть реализована либо самой оболочкой, либо определенной внешней утилитой), оболочка выполняет ее, при необходимости выводя на экран какую-либо информацию, после чего снова выводит приглашение и ожидает ввода следующей команды.

Замечание

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

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

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

Начиная с версии Windows NT, оболочка командной строки представляется интерпретатором Cmd.exe, который расширяет возможности оболочки command.com операционной системы MS-DOS. В свою очередь функциональность командного интерпретатора command.com была позаимствована из операционной системы CP/M, оболочка которой представляла собой значительно упрощенный и урезанный вариант оболочки Unix-систем.

Таким образом, оболочка командной строки MS-DOS изначально уступала Unix-оболочкам по удобству работы и развитости языка сценариев; в командной оболочке Windows (cmd.exe), несмотря на все сделанные улучшения, не удалось преодолеть данное отставание ни в режиме интерактивной работы (например, в cmd.exe отсутствует поддержка псевдонимов для длинных названий команд и не реализовано автоматическое завершение команд при вводе их с клавиатуры), ни в синтаксисе или возможностях языка командных файлов. Ситуация усугублялась тем, что Windows всегда проигрывала Unix-системам в количестве и функциональных возможностях стандартных (не требующих дополнительной установки) утилит командной строки, а также в качестве и полноте встроенной справочной системы по командам оболочки.

На практике проблему отсутствия нужной функциональности у стандартных команд приходится решать либо с помощью утилит пакета Windows Resource Kit для соответствующей версии операционной системы, либо путем поиска подходящей утилиты сторонних производителей. Кроме того, в Windows можно пользоваться POSIX-совместимыми утилитами и оболочками с помощью пакета Microsoft Services For Unix (SFU). Данный продукт разрабатывался еще для Windows NT и первоначально не входил в состав операционной системы, его нужно было приобретать за отдельную плату. В дальнейшем пакет SFU стал бесплатным и даже был включен в состав операционной системы Windows Server 2003 R2.

Итак, учитывая все сказанное выше, мы можем сделать следующий вывод: оболочка командной строки cmd.exe и командные файлы – наиболее универсальные и простые в изучении средства автоматизации работы в Windows, доступные во всех версиях операционной системы, которые, однако, существенно проигрывают аналогичным инструментам в Unix-системах и не обеспечивают доступ к объектным моделям, поддерживаемым операционной системой (COM, WMI, .NET).

Содержание

  1. Список команд Windows ( Windows CMD ) с описанием и примерами.
  2. Способы запуска командной строки
  3. Справочник по командам CMD Windows
  4. Прочие материалы по работе с командной строкой Windows:
  5. Команды Windows
  6. Предварительные требования
  7. Общие сведения о командной оболочке
  8. Справочник по командной строке A-Z
  9. Как автоматизировать рутинные задачи обслуживания в Windows 10
  10. Используемые инструменты
  11. Скрипты PowerShell
  12. Планировщик заданий
  13. Приступим к автоматизации
  14. Запуск нескольких приложений
  15. Запуск приложений от имени администратора
  16. Удаление старых файлов
  17. Очистка корзины
  18. Отключение компьютера
  19. Резервное копирование файлов и папок
  20. Некоторые замечания
  21. Иллюстрированное руководство по полезным инструментам командной строки
  22. Alacritty, язык: Rust
  23. alt, язык: Rust
  24. bat, язык: Rust
  25. bb, язык: Rust
  26. chars, язык: Rust
  27. dot, язык: Rust
  28. dust, язык: Rust
  29. exa, язык: Rust
  30. eva, язык: Rust
  31. fd, язык: Rust
  32. hexyl, язык: Rust
  33. hyperfine, язык: Rust
  34. jq, язык: C
  35. mdcat, язык: Rust
  36. pass, язык: sh
  37. Podman, язык: Go
  38. Restic, язык: Go
  39. ripgrep, язык: Rust
  40. shotgun, язык: Rust
  41. skim, язык: Rust
  42. slop, язык: C++
  43. Syncthing, язык: Go
  44. tig, язык: C
  45. titlecase, язык: Rust
  46. Universal Ctags, язык: C
  47. watchexec, язык: Rust
  48. z, язык: sh
  49. Эволюция инструментов для автоматизации работы в Microsoft Windows
  50. Эволюция инструментов для автоматизации работы в Microsoft Windows
  51. Оболочка командной строки command.com/cmd.exe

Список команд Windows ( Windows CMD ) с описанием и примерами.

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

Способы запуска командной строки

Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.

Справочник по командам CMD Windows

Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.

На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.

Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.

IPCONFIG просмотр и управление конфигурацией протокола IP

PING утилита проверки доступности узла

SHIFT сдвиг входных параметров для командного файла

Прочие материалы по работе с командной строкой Windows:

Источник

Команды Windows

все поддерживаемые версии Windows (сервер и клиент) имеют набор встроенных команд консоли Win32.

этот набор документации описывает Windows команды, которые можно использовать для автоматизации задач с помощью скриптов или средств создания скриптов.

Предварительные требования

Сведения, содержащиеся в этом разделе, применимы к:

Общие сведения о командной оболочке

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

Windows имеет две командные оболочки: командная оболочка и PowerShell. Каждая оболочка представляет собой программную программу, обеспечивающую прямой обмен данными между вами и операционной системой или приложением, предоставляя среду для автоматизации ИТ-операций.

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

для наиболее надежной и актуальной Windows автоматизации рекомендуется использовать PowerShell вместо команд Windows или Windows сервера скриптов для автоматизации Windows.

Вы также можете скачать и установить PowerShell Core, версию PowerShell с открытым исходным кодом.

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

Чтобы включить или отключить завершение имен файлов и каталогов в командной оболочке на компьютере или в сеансе входа пользователя, запустите regedit.exe и задайте следующее значение reg_DWOrd:

Справочник по командной строке A-Z

Чтобы найти сведения о конкретной команде, в следующем меню A-Z щелкните букву, с которой начинается команда, а затем щелкните имя команды.

Источник

Как автоматизировать рутинные задачи обслуживания в Windows 10

Часто ли вам приходится удалять старые файлы, очищать ненужные данные, запускать постоянно используемые программы и выполнять другие действия вручную? Если ваш ответ звучит утвердительно, то мы предлагаем вам ознакомиться с несколькими способами по автоматизации повторяющихся задач в Windows 10 с целью экономии времени. Хотя слишком много времени от автоматизации вы не выиграете, в любом случае вам не придется периодически выполнять одни и те же действия вручную.

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

Используемые инструменты

2018 10 13 1834

Полный список команд с описанием доступен на сайте Microsoft.

Скрипты PowerShell

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

2018 10 13 1835

Полный список команд Powershell с описанием доступен на сайте Microsoft.

Планировщик заданий

Чтобы запустить планировщик, введите фразу Планировщик заданий в поисковой строке меню Пуск. Обратите внимание, что некоторые программы Windows и некоторые сторонние приложения (например, Google Chrome) создают запланированные задачи для нужд обслуживания, поэтому не стоит редактировать или отключать уже имеющиеся задачи.

2018 10 13 1839

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

Приступим к автоматизации

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

Запуск нескольких приложений

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

Например, вы можете создать пакетный файл для открытия папки Документы, браузера Google Chrome, документа Word с помощью кода, указанного ниже. Обратите внимание, что переменная «%USERPROFILE%» соответствует вашей пользовательской директории в Windows.

Запуск приложений от имени администратора

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

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

2018 10 13 1843

2018 10 13 1850

Удаление старых файлов

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

2018 10 13 19041

Вы также можете изменить путь, изменив значение, следующие за аргументом /p на свою папку, файлы в которой нужно удалить. Опять же, переменная «%USERPROFILE%» соответствует вашей пользовательской директории в Windows.

Очистка корзины

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

2018 10 13 1910

2018 10 13 1911

Отключение компьютера

Приведенный ниже скрипт покажет сообщение в 11 вечера и выключить компьютер спустя 120 секунд (2 минуты). Вы можете указать другое время, изменив значение переменной %time%

2018 10 13 19 21 491

Резервное копирование файлов и папок

Конечно, существует много сторонних решений для резервного копирования файлов, в том числе облачные сервисы Dropbox или Backup and Sync от Google. Однако, если вы хотите иметь полный контроль над своими конфиденциальными файлами и не хотите «светить» их на облачных серверах, тогда можно настроить автоматическое резервное копирование на переносной жесткий диск или флешку. Нам снова поможет пакетный скрипт. Ничего не нужно скачивать, все делается очень просто.

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

2018 10 13 19301

Некоторые замечания

2018 10 13 19381

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

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

Источник

Иллюстрированное руководство по полезным инструментам командной строки

Подготовили подборку из 28 полезных инструментов командной строки, которые пригодятся для повседневной работы каждого разработчика и системного администратора. Это быстрые инструменты без серьезных зависимостей в средах выполнения типа Python или node.js. Большинство программ работают на *BSD, Linux, macOS, часто и на Windows. Многие инструменты доступны через системные репозитории соответствующих ОС.

Alacritty, язык: Rust

Alacritty — быстрый эмулятор терминала. Хотя это не совсем инструмент командной строки, но он позволяет запускать упомянутые ниже инструменты. Из этого эмулятора сделаны все скриншоты в статье.

alt, язык: Rust

alt — инструмент для поиска «альтернативного» файла, то есть связанного файла в другом месте системы. Например, спецификации к реализации (коду) или тест для реализации, смотрите примеры для разных языков программирования. Его можно использовать вместе с Neovim, чтобы легко переключаться между тестами и реализацией.

bat, язык: Rust

bat используют для вывода файла в консоль. Он является более верной альтернативой инструменту cat. Поддерживает подсветку синтаксиса и интеграцию с git.

1

bb, язык: Rust

bb — системный монитор, как top. Показывает общее использование процессора и памяти, а также подробную информацию о каждом процессе.

2

chars, язык: Rust

chars отображает информацию о символах Юникода, соответствующих поисковому запросу.

3

dot, язык: Rust

dot — это менеджер скрытых файлов (dotfiles). Поддерживает набор симлинков в соответствии с файлом сопоставления.

4

dust, язык: Rust

5

exa, язык: Rust

exa — замена ls с разумными значениями по умолчанию (цветовая схема, расширенные атрибуты и другие) и дополнительными функциями, такими как tree view, интеграция c git и дополнительные иконки.

6 1

eva, язык: Rust

eva — это калькулятор командной строки, похожий на bc, с подсветкой синтаксиса и хранением истории.

7

fd, язык: Rust

8

hexyl, язык: Rust

hexyl — это hex-просмотрщик с символами Юникода и расцветкой выдачи, чтобы улучшить читаемость.

9

hyperfine, язык: Rust

hyperfine — инструмент бенчмаркинга, позволяет замерять производительность команд со статистическим анализом многократных тестов, предварительным запуском перед фактическим тестом и другими полезными функциями.

10

jq, язык: C

jq — это своего рода awk для JSON. Позволяет преобразовывать и извлекать информацию из документов JSON.

11

mdcat, язык: Rust

mdcat отображает в терминале файлы с разметкой Markdown. В поддерживаемых терминалах (кроме Alacritty) ссылки кликабельны, изображения отображаются.

12

pass, язык: sh

pass — парольный менеджер, который шифрует пароли в GPG. Его можно использовать, например, с расширением passff для Firefox и Pass для iOS на телефоне.

13

Podman, язык: Go

Podman — альтернатива Docker, не требующая демона. Контейнеры поднимаются от имени пользователя, который запускает Podman, поэтому файлы, записанные на хост, не принадлежат пользователю с root-правами. Интерфейс во многом совместим с интерфейсом командной строки Docker.

14

Restic, язык: Go

Restic — инструмент резервного копирования, который шифрует файлы на стороне клиента, удаляет дубли, поддерживает различные локальные и удаленные бэкенды для записи файлов: sftp по SSH, HTTP REST, AWS S3, OpenStack Swift, BackBlaze B2, Microsoft Azure, Google Cloud и др.

15

Источник: демонстрационное видео Restik

ripgrep, язык: Rust

16

shotgun, язык: Rust

shotgun — инструмент для снятия скриншотов в окружении на основе X.org. Все скриншоты в этой статье сделал shotgun. Он хорошо сочетается со slop, об этом инструменте расскажем ниже.

skim, язык: Rust

skim — инструмент для поиска нечеткого совпадения данных, подаваемых на вход. Можно использовать вместе с Neovim и zsh для нечеткого сопоставления имен файлов.

17

slop, язык: C++

slop (select operation) представляет UI для выбора области экрана/окна — и ее печати в stdout. Хорошо работает с shotgun.

Syncthing, язык: Go

Инструмент децентрализованной синхронизации файлов. Как Dropbox, но на своем хостинге, без зависимости от сторонних сервисов.

tig, язык: C

tig — это текстовый UI для Git. Отлично подходит для просмотра изменений и подготовки к коммиту, просмотра истории и различий.

18

titlecase, язык: Rust

titlecase — небольшой инструмент, который написал Уэсли Мур для генерации заголовков в соответствии с форматом в описании Джона Грубера. Правильно обрабатывает знаки препинания и слова со строчной буквы, такие как iPhone.

Его можно запустить из Neovim, с обработкой выделенного текста. Это делается путем визуального выделения и ввода :!titlecase.

Universal Ctags — форк активно поддерживаемой утилиты exuberant-ctags. Она создает файл тегов, который vim и другие инструменты используют для перехода к определению символов в файлах.

watchexec, язык: Rust

watchexec — программа отслеживания файлов и каталогов, которая выполняет команды в случае определенного изменения файловой системы. Это удобно для автоматического запуска тестов или перезапуска веб-сервера разработки при изменении исходников.

z, язык: sh

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

Источник

Эволюция инструментов для автоматизации работы в Microsoft Windows

Эволюция инструментов для автоматизации работы в Microsoft Windows

В настоящее время графический интерфейс Windows стал настолько привычным, что многие пользователи и начинающие администраторы даже не задумываются (а зачастую и просто не знают) об альтернативных способах управления данной операционной системой, связанных с командной строкой ( command line ) и различными сценариями (scripts), о тех преимуществах, которые дают эти инструменты с точки зрения автоматизации работы, то есть решения различных задач в автоматическом режиме, без участия человека. Подобная ситуация обусловлена тем, что исторически командная строка всегда была слабым местом операционной системы Windows (по сравнению с Unix-системами). Причиной этого, в основном, является то, что изначально компания Microsoft ориентировалась на широкую аудиторию неискушенных пользователей, не желающих особо вникать в технические детали выполнения тех или иных действий в системе. Поэтому основные усилия разработчиков операционной системы направлялись на улучшение графической оболочки для более комфортной работы непрофессионалов, а не на создание рабочей среды для специалистов или опытных пользователей.

Однако подобная модель управления не является масштабируемой: если администрировать не один, а десять серверов, используя стандартные графические инструменты, то одну и ту же последовательность изменения элементов управления в диалоговых окнах придется повторить десять раз, следовательно, в этом случае остро встает вопрос об автоматизации выполнения рутинных операций (например, проведение инвентаризации оборудования и программного обеспечения, мониторинг работы служб, анализ журналов событий и т.д.) на множестве компьютеров. Помочь в этом могут либо специальные (как правило тяжеловесные и недешевые) приложения типа Microsoft Systems Management Server ( SMS ), либо сценарии, которые пишутся администраторами самостоятельно (на языке оболочки командной строки или на специальных языках сценариев) и поддерживаются непосредственно операционной системой, без установки сторонних программных продуктов.

Каким же нам хотелось бы видеть инструмент для автоматизации работы в операционной системе, какими возможностями он должен обладать? Желательно, чтобы в нем было реализовано следующее:

В Unix-системах в качестве инструмента автоматизации выступает стандартная оболочка ( shell ) или ее модификации (bashell, kshell, cshell и т.д.), причем этот аспект операционной системы стандартизирован в рамках POSIX (стандарт мобильных систем).

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

Во всех версиях операционной системы Windows поддерживается интерактивная оболочка командной строки (command shell) и по умолчанию устанавливается определенный набор утилит командной строки (количество и состав этих утилит зависит от версии операционной системы). Вообще, любую операционную систему можно представить в виде совокупности ядра системы, которое имеет доступ к аппаратуре и оперирует файлами и процессами, и оболочки (командного интерпретатора) с утилитами, которые позволяют пользователю получить доступ к функциональности ядра операционной системы. Механизм работы оболочек в разных системах одинаков: в ответ на приглашение («подсказку», prompt), выдаваемое находящейся в ожидании оболочкой, пользователь вводит некоторую команду (функциональность этой команды может быть реализована либо самой оболочкой, либо определенной внешней утилитой), оболочка выполняет ее, при необходимости выводя на экран какую-либо информацию, после чего снова выводит приглашение и ожидает ввода следующей команды.

Начиная с версии Windows NT, оболочка командной строки представляется интерпретатором Cmd.exe, который расширяет возможности оболочки command.com операционной системы MS-DOS. В свою очередь функциональность командного интерпретатора command.com была позаимствована из операционной системы CP/M, оболочка которой представляла собой значительно упрощенный и урезанный вариант оболочки Unix-систем.

Таким образом, оболочка командной строки MS-DOS изначально уступала Unix-оболочкам по удобству работы и развитости языка сценариев; в командной оболочке Windows (cmd.exe), несмотря на все сделанные улучшения, не удалось преодолеть данное отставание ни в режиме интерактивной работы (например, в cmd.exe отсутствует поддержка псевдонимов для длинных названий команд и не реализовано автоматическое завершение команд при вводе их с клавиатуры), ни в синтаксисе или возможностях языка командных файлов. Ситуация усугублялась тем, что Windows всегда проигрывала Unix-системам в количестве и функциональных возможностях стандартных (не требующих дополнительной установки) утилит командной строки, а также в качестве и полноте встроенной справочной системы по командам оболочки.

На практике проблему отсутствия нужной функциональности у стандартных команд приходится решать либо с помощью утилит пакета Windows Resource Kit для соответствующей версии операционной системы, либо путем поиска подходящей утилиты сторонних производителей. Кроме того, в Windows можно пользоваться POSIX-совместимыми утилитами и оболочками с помощью пакета Microsoft Services For Unix (SFU). Данный продукт разрабатывался еще для Windows NT и первоначально не входил в состав операционной системы, его нужно было приобретать за отдельную плату. В дальнейшем пакет SFU стал бесплатным и даже был включен в состав операционной системы Windows Server 2003 R2.

Источник

Лабораторная
работа

Интерпретатор командной строки ОС MS Windows

Часть 1. Внешние и внутренние команды

Цель работы – знакомство с
возможностями интерпретатора командной строки и командами MS Windows

1. КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

1.1. Эволюция инструментов для автоматизации работы в ОС
Microsoft Windows

В настоящее время графический
интерфейс Windows стал настолько привычным, что многие пользователи и
начинающие администраторы даже не задумываются об альтернативных способах
управления данной ОС, связанных с командной строкой (command line) и различными
сценариями (scripts), о тех преимуществах, которые дают эти инструменты с точки
зрения автоматизации работы. Подобная ситуация обусловлена тем, что исторически
командная строка всегда была слабым местом операционной системы Windows (по
сравнению с Unix-системами).

При этом, однако, неправильно
было бы думать, что командная строка или сценарии нужны только администраторам.
Ведь ежедневные рутинные задачи пользователей (связанные, например, с
копированием или архивированием файлов, подключением или отключением сетевых
ресурсов и т.п.), которые обычно выполняются с помощью графического интерфейса
проводника Windows, можно полностью самостоятельно автоматизировать, написав
нехитрый командный файл, состоящий всего из нескольких строчек! Более того, для
человека, не знающего основные команды Windows и такие базовые возможности ОС,
как перенаправление ввода/вывода и конвейеризация команд, некоторые простейшие
задачи могут показаться нетривиальными. Попробуйте, например, пользуясь только
графическими средствами, сформировать файл, содержащий имена файлов из всех
подкаталогов какого-либо каталога! А ведь для этого достаточно выполнить
единственную команду DIR (с определенными ключами) и перенаправить вывод этой
команды в нужный текстовый файл.

Каким же нам хотелось бы видеть
инструмент для автоматизации работы в ОС?

Желательно, чтобы было реализовано
следующее:

   
работа в разных версиях ОС без установки какого-либо
дополнительного программного обеспечения;

   
интеграция с командной строкой (непосредственное выполнение вводимых
с клавиатуры команд);

   
согласованный и непротиворечивый синтаксис команд и утилит;

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

В ОС Windows дело обстоит
сложнее. На сегодняшний день одного «идеального» средства автоматизации,
удовлетворяющего сразу всем перечисленным выше требованиям, в Windows нет; в
последних версиях ОС поддерживаются несколько стандартных инструментов
автоматизации, сильно отличающихся друг от друга: оболочка командной строки
cmd.exe, среда выполнения сценариев Windows Script Host и оболочка Microsoft
PowerShell. Поэтому администратору или пользователю Windows приходится
выбирать, каким именно подходом воспользоваться для решения определенной
задачи, а для этого желательно иметь четкое представление о сильных и слабых
сторонах данных средств автоматизации. Рассмотрим достоинства и недостатки
каждого из них.

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

Во всех версиях ОС Windows
поддерживается интерактивная оболочка командной строки (command shell) и
определенный набор утилит командной строки (количество и состав этих утилит
зависит от версии ОС). Механизм работы оболочек командной строки в разных
системах одинаков: в ответ на приглашение («подсказку», prompt),
выдаваемое находящейся в ожидании оболочкой, пользователь вводит некоторую
команду (функциональность этой команды может быть реализована либо самой
оболочкой, либо определенной внешней утилитой), оболочка выполняет ее, при
необходимости выводя на экран какую-либо информацию, после чего снова выводит
приглашение и ожидает ввода следующей команды.

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

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


реализация сентенциальной (директивной) парадигмы
программирования;


выполнение в режиме построчной интерпретации;


наличие управляющих конструкций;


поддержка нескольких видов циклов (в том числе специальных циклов
для обработки текстовых файлов);


наличие оператора присваивания (установки значения переменной);


возможность использования внешних программ (команд) операционной
системы в качестве операторов и обработки их кодов возврата;


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

Начиная с версии Windows NT,
оболочка командной строки представляется интерпретатором Cmd.exe.

Итак, учитывая сказанное выше,
можно сделать вывод: оболочка командной строки cmd.exe и командные файлы –
наиболее универсальные и простые в изучении средства автоматизации работы в
Windows, доступные во всех версиях операционной системы.

1.1.2. Поддержка языков
сценариев. Сервер сценариев Windows Script Host

Следующим шагом в развитии
средств и технологий автоматизации в ОС Windows стало появление сервера
сценариев Windows Script Host (WSH). Этот инструмент разработан для всех версий
Windows и позволяет непосредственно в ОС выполнять сценарии на полноценных
языках сценариев (по умолчанию, VBScript и JScript), которые до этого были
доступны только внутри HTML-страниц и работали в контексте безопасности
веб-браузера (в силу этого подобные сценарии, например, могли не иметь доступа
к файловой системе локального компьютера).

По сравнению с командными
файлами интерпретатора cmd.exe сценарии WSH имеют несколько преимуществ.

Во-первых, VBScript и JScript –
это полноценные алгоритмические языки, имеющие встроенные функции и методы для
обработки символьных строк, выполнения математических операций, обработки
исключительных ситуаций и т.д.; кроме того, для написания сценариев WSH может
использоваться любой другой язык сценариев (например, широко распространенный в
Unix-системах Perl), для которого установлен соответствующий модуль поддержки.

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

В-третьих, из сценариев WSH
можно обращаться к службам любых приложений-серверов автоматизации (например,
программ из пакета MS Office), которые регистрируют в ОС свои объекты.

Наконец, сценарии WSH позволяют
работать с объектами информационной модели Windows Management Instrumentation
(WMI), обеспечивающей программный интерфейс управления всеми компонентами
операционной модели, а также с объектами службы каталогов Active Directory
Service Interface.

Следует
также отметить, что технология WSH поддерживается в Windows уже довольно

давно, в Интернете (в том числе на
сайте Microsoft) можно найти множество готовых сценариев.

1.1.3. Командная
оболочка Microsoft PowerShell

С одной стороны функциональности и гибкости языка
оболочки cmd.exe явно недостаточно, а с другой стороны сценарии WSH, работающие
с объектными моделями ADSI и WMI, слишком сложны для пользователей среднего
уровня и начинающих администраторов.

Перед разработчиками новой оболочки, получившей
название Windows PowerShell, стояли следующие основные цели:


применение командной строки в качестве основного интерфейса
администрирования;


реализация модели ObjectFlow (элементом обмена информации
является объект);


переработка существующих команд, утилит и оболочки;


интеграция командной строки, объектов COM, WMI и .NET;


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

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

Отметим, что PowerShell одновременно является и
оболочкой командной строки (пользователь работает в интерактивном режиме) и
средой выполнения сценариев, которые пишутся на специальном языке PowerShell.

В целом, оболочка PowerShell намного удобнее и
мощнее своих предшественников (cmd.exe и WSH), а основным недостатком,
сдерживающим распространение нового инструмента, является тот факт, что
PowerShell работает не во всех версиях ОС Windows. Оболочкой можно пользоваться
только на версиях не ниже Windows XP Service Pack 2 с установленным пакетом
.NET Framework 2.0.

1.2 Оболочка командной строки Windows. Интерпретатор
Cmd.exe

Рассматриваются внутренние команды, поддерживаемые
интерпретатором Cmd.exe, и наиболее часто используемые внешние команды (утилиты
командной строки). Описываются механизмы перенаправления ввода/вывода,
конвейеризации и условного выполнения команд. Даются примеры команд для работы
с файловой системой

В ОС Windows, как и в других ОС, интерактивные
(набираемые с клавиатуры и сразу же выполняемые) команды выполняются с помощью
так называемого командного интерпретатора, иначе называемого командным
процессором или оболочкой командной строки (command shell). Начиная с версии
Windows NT, в операционной системе реализован интерпретатор команд Cmd.exe,
обладающий гораздо более широкими возможностями.

1.2.1
Запуск оболочки

В Windows NT/2000/XP файл Cmd.exe, как и другие
исполняемые файлы, соответствующие внешним командам ОС, находятся в каталоге
%SystemRoot%SYSTEM32 (значением переменной среды %SystemRoot% является
системный каталог Windows, обычно C:Windows или C:WinNT). Для запуска
командного интерпретатора (открытия нового сеанса командной строки) можно выбрать
пункт Выполнить… (Run) в меню Пуск (Start), ввести имя файла Cmd.exe и нажать
кнопку OK. В результате откроется новое окно (см. рис. 1), в котором можно
запускать команды и видеть результат их работы.

 

Рис. 1 —
Командное окно интерпретатора Cmd.exe в Windows XP

1.2.2
Настройка параметров командного окна интерпретатора

У утилиты командной строки, которая поставляется в
виде стандартного приложения ОС Windows, имеется свой набор опций и параметров
настройки. Один из способов просмотра этих опций – использование пункта
Свойства управляющего меню окна (нажать правой кнопкой мыши на заголовок окна).
В окне свойств (см. рис. 2) будут доступны четыре вкладки с опциями: общие,
шрифт, расположение и цвета.

Рис. 2 окно настройки свойств интерпретатора

1.2.3.
Внутренние и внешние команды. Структура команд

Некоторые команды распознаются и выполняются
непосредственно самим командным интерпретатором — такие команды называются внутренними
(например, COPY или DIR). Другие команды ОС представляют собой
отдельные программы, расположенные по умолчанию в том же каталоге, что и
Cmd.exe, которые Windows загружает и выполняет аналогично другим программам.
Такие команды называются внешними (например, MORE
или XCOPY).

Рассмотрим структуру самой
командной строки и принцип работы с ней. Для того, чтобы выполнить команду,
после приглашения командной строки (например, C:>)
следует ввести имя этой команды (регистр не важен), ее параметры и ключи (если
они необходимы) и нажать клавишу <Enter>. Например:

C:>COPY C:myfile.txt A: /V

Имя
команды здесь — COPY, параметры — C:myfile.txt и A:,
а ключом является /V.

Отметим, что в некоторых командах
ключи могут начинаться не с символа /, а с символа – (минус), например, -V.

Многие команды Windows имеют
большое количество дополнительных параметров и ключей, запомнить которые
зачастую бывает трудно. Большинство команд снабжено встроенной справкой, в
которой кратко описываются назначение и синтаксис данной команды. Получить
доступ к такой справке можно путем ввода команды с ключом /?. Например, если выполнить команду ATTRIB /?, то в окне MS-DOS мы увидим следующий
текст:

Отображение и изменение атрибутов файлов.

ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][путь]имя_файла]
[/S] + Установка атрибута.

— Снятие атрибута.

R Атрибут «Только чтение».

A Атрибут «Архивный».

S Атрибут «Системный».

H Атрибут «Скрытый». /S Обработка файлов во всех
вложенных папках указанного пути.

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

XCOPY /? | MORE

В этом случае после заполнения очередного экрана
вывод помощи будет прерываться до нажатия любой клавиши. Кроме того, используя
символы перенаправления вывода > и >>, можно текст, выводимый на
экран, направить в текстовый файл для дальнейшего просмотра. Например, для
вывода текста справки к команде XCOPY в текстовый файл xcopy.txt, используется
следующая команда:

XCOPY /? > XCOPY.TXT

Замечание. Вместо имени файла можно указывать
обозначения устройств компьютера. В Windows поддерживаются следующие имена
устройств
: PRN (принтер), CON (терминал:
при вводе это клавиатура, при выводе — монитор), NUL
(пустое устройство, все операции ввода/вывода для него игнорируются).

1.2.4.
Перенаправление ввода/вывода и конвейеризация (композиция) команд

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

  
выводить сообщения программ не на экран (стандартный выходной
поток), а в файл или на принтер (перенаправление вывода);

  
читать входные данные не с клавиатуры (стандартный входной
поток), а из заранее подготовленного файла (перенаправление ввода);

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

Из командной строки эти возможности реализуются
следующим образом. Для того, чтобы перенаправить текстовые сообщения, выводимые
какой-либо командой, в текстовый файл, нужно использовать конструкцию команда >
имя_файла

Если при этом заданный для вывода файл уже
существовал, то он перезаписывается, если не существовал — создается. Можно
также не создавать файл заново, а дописывать информацию, выводимую
командой, в конец существующего файла. Для этого команда перенаправления вывода
должна быть задана так: команда >> имя_файла

С помощью символа < можно
прочитать входные данные для заданной команды не с клавиатуры, а из
определенного (заранее подготовленного) файла: команда < имя_файла

Приведем несколько примеров
перенаправления ввода/вывода.

1.          
Вывод встроенной справки для команды COPY в файл copy.txt: COPY
/? > copy.txt

2.          
Добавление текста справки для команды XCOPY в файл copy.txt:
XCOPY /? >> copy.txt

3.          
Вывод текущей даты в файл date.txt (DATE /T — это команда для
просмотра и изменения системной даты, T ключ для получения только даты без
запроса нового значения):

DATE /T > date.txt

Если при выполнении определенной команды возникает
ошибка, то сообщение об этом по умолчанию выводится на экран. В случае
необходимости сообщения об ошибках (стандартный поток ошибок) можно
перенаправить в текстовый файл с помощью конструкции команда 2> имя_файла

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

команда > имя_файла 2>&1

Например, в приведенной ниже команде стандартный выходной
поток и стандартный поток ошибок перенаправляются в файл copy.txt: XCOPY
A:1.txt C: > copy.txt 2>&1

Наконец, с помощью конструкции команда1 |
команда2

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

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

1. Удаление
всех   файлов           в          текущем         каталоге         без      предупреждения
        (автоматический положительный ответ на запрос об удалении): ECHO y |
DEL *.*

1.2.5. Команды MORE и SORT

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

MORE [диск:][путь]имя_файла MORE < [диск:][путь]имя_файла
имя_команды | MORE

Параметр       [диск:][путь]имя_файла      определяет     расположение
          и          имя     файла         с просматриваемыми на экране
данными. Параметр имя_команды задает команду, вывод которой отображается на
экране (например, DIR или команда TYPE,
использующаяся для вывода содержимого текстового файла на экран). Приведем два
примера.

Для поэкранного просмотра текстового файла news.txt
возможны следующие варианты команд: MORE news.txt

MORE < news.txt

TYPE news.txt | MORE

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

SORT [/R] [/+n]
[[диск1:][путь1]файл1] [> [диск2:][путь2]файл2] или

[команда |] SORT [/R] [/+n] [>
[диск2:][путь2]файл2]

В первом случае параметр [диск1:][путь1]файл1
определяет имя файла, который нужно отсортировать. Во втором случае будут
отсортированы выходные данные указанной команды. Если параметры файл1 или команда не заданы, то SORT будет считывать данные с устройства
стандартного ввода.

Параметр [диск2:][путь2]файл2 задает файл, в который
будет направляется сортированный вывод; если этот параметр не задан, то вывод
будет направлен на устройство стандартного вывода.

По умолчанию сортировка выполняется в порядке
возрастания. Ключ /R позволяет изменить
порядок сортировки на обратный (от Z к A и затем от 9 до 0). Например, для
поэкранного просмотра отсортированного в обратном порядке файла price.txt,
нужно задать следующую команду:

SORT /R < price.txt |MORE

Ключ /+n задает
сортировку в файле по символам n-го столбца. Например, /+10
означает, что сортировка должна осуществляться, начиная с 10-й позиции в
каждой строке. По умолчанию  файл сортируется по первому столбцу.

1.2.6. Условное выполнение и
группировка команд
В командной строке Windows NT/2000/XP можно использовать
специальные символы, которые позволяют вводить несколько команд одновременно и
управлять работой команд в зависимости от результатов их выполнения. С помощью
таких символов условной обработки можно содержание небольшого пакетного файла
записать в одной строке и выполнить полученную составную команду.

Используя символ амперсанда &, можно разделить несколько утилит в одной командной
строке, при этом они будут выполняться друг за другом. Например, если набрать
команду DIR & PAUSE & COPY /? и
нажать клавишу <Enter>, то вначале на экран будет выведено содержимое
текущего каталога, а после нажатия любой клавиши — встроенная справка команды COPY.

Условная обработка команд в Windows осуществляется с
помощью символов && и || следующим образом. Двойной амперсанд && запускает команду, стоящую за ним в
командной строке, только в том случае, если команда, стоящая перед амперсандами
была выполнена успешно. Например, если в корневом каталоге диска C: есть файл
plan.txt, то выполнение строки TYPE C:plan.txt
&& DIR
приведет к выводу на экран этого файла и содержимого
текущего каталога. Если же файл C:plan.txt не существует, то команда DIR выполняться не будет.

Два символа || осуществляют
в командной строке обратное действие, т.е. запускают команду, стоящую за этими
символами, только в том случае, если команда, идущая перед ними, не была
успешно выполнена. Таким образом, если в предыдущем примере файл C:plan.txt
будет отсутствовать, то в результате выполнения строки TYPE
C:plan.txt || DIR
на экран выведется содержимое текущего каталога.

Отметим, что условная обработка действует только на ближайшую
команду, то есть в строке TYPE C:plan.txt && DIR & COPY /? команда
COPY /? запустится в любом случае, независимо от результата выполнения

команды TYPE C:plan.txt.

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

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

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

В первой из них символ условной
обработки && действует только на команду DIR, во
второй — одновременно на две команды: DIR и COPY.

1.3. Команды для работы с файловой системой

Рассмотрим некоторые наиболее часто используемые
команды для работы с файловой системой. Отметим сначала несколько особенностей
определения путей к файлам в Windows.

1.3.1. Пути к
объектам файловой системы

Файловая система логически имеет древовидную структуру
и имена файлов задаются в формате [диск:][путь]имя_файла, то есть обязательным
параметром является только имя файла. При этом, если путь начинается с символа
«», то маршрут вычисляется от корневого каталога, иначе — от
текущего каталога. Например, имя C:123.txt задает файл 123.txt в текущем
каталоге на диске C:, имя C:123.txt — файл 123.txt в корневом каталоге на
диске C:, имя ABC123.txt — файл

123.txt в подкаталоге ABC текущего
каталога.

Существуют особые обозначения для текущего каталога
и родительского каталогов. Текущий каталог обозначается символом . (точка), его
родительский каталог — символами .. (две точки). Например, если текущим
каталогом является C:WINDOWS, то путь к файлу autoexec.bat в корневом каталоге
диска C: может быть записан в виде ..autoexec.bat.

В именах файлов (но не дисков или каталогов) можно
применять так называемые групповые символы или шаблоны: ?
(вопросительный знак) и * (звездочка). Символ * в имени файла означает
произвольное количество любых допустимых символов, символ ? — один произвольный
символ или его отсутствие. Скажем, под шаблон text??1.txt подходят, например,
имена text121.txt и text11.txt, под шаблон text*.txt — имена text.txt,
textab12.txt, а под шаблон text.* —
все файлы с именем text и произвольным расширением.

Для того, чтобы использовать длинные имена файлов
при работе с командной строкой, их нужно заключать в двойные кавычки. Например,
чтобы запустить файл с именем ‘Мое приложение.exe’ из каталога ‘Мои документы’,
нужно в командной строке набрать «C:Мои документыМое приложение.exe» и
нажать клавишу <Enter>.

1.3.2. Команда CD

Текущий каталог можно изменить с
помощью команды CD [диск:][путь]

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

1.3.3. Команда
COPY

Одной из наиболее часто повторяющихся задач при
работе на компьютере является копирование и перемещение файлов из одного места
в другое. Для копирования одного или нескольких файлов используется команда
COPY.

Синтаксис этой команды:

COPY [/A|/B] источник [/A|/B] [+ источник
[/A|/B] [+ …]] [результат [/A|/B]] [/V][/Y|/–Y]

Краткое
описание параметров и ключей команды
COPY приведено в табл. 1.

Таблица 1.
Параметры и ключи команды COPY

Параметр

Описание

источник

Имя копируемого файла или файлов

/A

Файл является текстовым файлом
ASCII, то есть конец файла обозначается символом с кодом ASCII 26
(<Ctrl>+<Z>)

/B

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

результат

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

/V

Проверка правильности копирования путем сравнения файлов после
копирования

/Y

Отключение режима запроса подтверждения на замену файлов

/-Y

Включение режима запроса подтверждения на замену файлов

Примеры использования команды COPY.

0.
Копирование файла abc.txt из текущего каталога в каталог D:PROGRAM под
тем же именем:

COPY abc.txt D:PROGRAM

1.
Копирование файла abc.txt из текущего каталога в каталог D:PROGRAM под
новым именем def.txt:

COPY abc.txt D:PROGRAMdef.txt

2.
Копирование всех файлов с расширением txt с диска A: в каталог ‘Мои
документы’ на диске C:

COPY A:*.txt «C:Мои документы»

Если не задать в команде целевой файл, то команда
COPY создаст копию файла-источника с тем же именем, датой и временем создания,
что и исходный файл, и поместит новую копию в текущий каталог на текущем диске.
Например, для того, чтобы скопировать все файлы из корневого каталога диска A:
в текущий каталог, достаточно выполнить такую команду: COPY A:*.*

Пример 1 создания нового текстового файла и
записи в него информации без использования текстового редактора.

Для решения задачи необходимо
ввести команду COPY CON my.txt, которая
будет копировать то, что набирается на клавиатуре в файл my.txt (если этот файл
существовал, то он перезапишется, иначе — создастся). Для завершения ввода
необходимо ввести символ конца файла, то есть нажать клавиши
<Ctrl>+<Z>.

Команда COPY
может также объединять (склеивать) несколько файлов в один. Для этого
необходимо указать единственный результирующий файл и несколько исходных. Это
достигается путем использования групповых знаков (? и *) или формата файл1 +
файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt
можно задать следующую команду:

COPY 1.txt+2.txt 3.txt

Объединение всех файлов с расширением dat из
текущего каталога в один файл all.dat может быть произведено так:

COPY /B *.dat all.dat

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

Если имя целевого файла совпадает с именем одного из
копируемых файлов (кроме первого), то исходное содержимое целевого файла
теряется. Если имя целевого файла опущено, то в его качестве используется
первый файл из списка. Например, команда COPY
1.txt+2.txt
добавит к содержимому файла 1.txt содержимое файла 2.txt.
Командой COPY можно воспользоваться и для присвоения какому-либо
файлу текущей даты и времени без модификации его содержимого. Для этого
нужно ввести команду

COPY /B 1.txt +,,

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

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

1.3.4. Команда
XCOPY

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

XCOPY
источник [результат] [ключи]

Команда XCOPY
имеет
множество ключей, далее приведены лишь некоторых из них. Ключ /D[:[дата]] позволяет копировать
только файлы, измененные не ранее указанной даты. Если параметр дата не указан,
то копирование будет производиться только если источник новее результата.
Например, команда

XCOPY
«C:Мои документы*.*» «D:BACKUPМои документы» /D
скопирует
в каталог ‘D:BACKUPМои документы’ только те файлы из каталога ‘C:Мои
документы’, которые были изменены со времени последнего подобного копирования
или которых вообще не было в ‘D:BACKUPМои документы‘.

Ключ /S
позволяет копировать все непустые подкаталоги в каталоге-источнике. С
помощью же ключа /E можно копировать вообще все подкаталоги,
включая и пустые.

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

Ключ /I важен для случая, когда
копируются несколько файлов, а файл назначения отсутствует. При задании этого
ключа команда XCOPY считает, что файл назначения должен быть каталогом.
Например, если задать ключ /I в команде копирования всех
файлов с расширением txt из текущего каталога в несуществующий еще подкаталог
TEXT,

XCOPY *.txt TEXT /I

то подкаталог TEXT будет создан без
дополнительных запросов.

Ключи /Q, /F
и /L отвечают за режим отображения при копировании. При
задании ключа /Q имена файлов при копировании не отображаются, ключа /F

отображаются полные пути источника и результата. Ключ /L
обозначает, что отображаются только файлы, которые должны быть
скопированы (при этом само копирование не производится).

С помощью ключа /H
можно копировать скрытые и системные файлы, а с помощью ключа

/R заменять
файлы с атрибутом «Только для чтения». Например, для копирования всех
файлов из корневого каталога диска C: (включая системные и скрытые) в каталог
SYS на диске D:, нужно ввести следующую команду:

XCOPY C:*.* D:SYS /H

Ключ /T позволяет применять XCOPY
для копирования только структуры каталогов источника, без дублирования
находящихся в этих каталогах файлов, причем пустые каталоги и подкаталоги не
включаются. Для того, чтобы все же включить пустые каталоги и подкаталоги,
нужно использовать комбинацию ключей /T /E.

Используя
XCOPY можно при копировании обновлять только уже
существующие файлы

(новые файлы при этом не
записываются). Для этого применяется ключ /U. Например,
если в каталоге C:2 находились файлы a.txt и b.txt, а в каталоге C:1 — файлы
a.txt, b.txt, c.txt и d.txt, то после выполнения команды

XCOPY C:1 C:2 /U в
каталоге C:2 по-прежнему останутся лишь два файла a.txt и b.txt, содержимое
которых будет заменено содержимым соответствующих файлов из каталога C:1. Если
с помощью XCOPY копировался файл с атрибутом «Только для
чтения», то по умолчанию у файла-копии этот атрибут снимется. Для того,
чтобы копировать не только данные, но и полностью атрибуты файла, необходимо
использовать ключ /K.

Ключи /Y
и /-Y определяют, нужно ли запрашивать подтверждение перед
заменой файлов

при копировании. /Y
означает, что такой запрос нужен, /-Y — не
нужен.

1.3.5. Команда
DIR
Команда

DIR
[диск:][путь][имя_файла] [ключи]
используется для вывода информации о
содержимом дисков и каталогов. Параметр [диск:][путь]
задает диск и каталог, содержимое которого нужно вывести на экран.
Параметр

[имя_файла]
задает файл или группу файлов, которые нужно включить в список.
Например, команда DIR C:*.bat

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

Том в устройстве C имеет
метку PHYS1_PART2 Серийный номер тома: 366D-6107 Содержимое папки C:aditor

.        

<ПАПКА>                  25.01.00 17:15 .

..       

<ПАПКА>                  25.01.00 17:15 ..

HILITE DAT

1
082 18.09.98 18:55 hilite.dat

TEMPLT01 DAT  

48
07.08.98 1:00 templt01.dat

TTABLE DAT  

357
07.08.98 1:00 ttable.dat

ADITOR EXE

461
312 01.12.99 23:13 aditor.exe

README TXT

3 974
25.01.00 17:26 readme.txt

ADITOR HLP

24
594 08.10.98 23:12 aditor.hlp

ТЕКСТО~1 TXT  

0
11.03.01 9:02 Текстовый файл.txt

11
файлов

533
647 байт

2
папок 

143 261 696 байт
свободно

С помощью ключей команды DIR
можно задать различные режимы расположения, фильтрации и сортировки.
Например, при использовании ключа /W перечень
файлов выводится в широком формате с максимально возможным числом имен файлов
или каталогов на каждой строке. Например:

Том в устройстве C имеет метку PHYS1_PART2

Серийный номер тома: 366D-6107

Содержимое папки C:aditor

     [.]             [..]
              TEMPLT02.DAT UNINST1.000 HILITE.DAT

TEMPLT01.DAT UNINST0.000  TTABLE.DAT  ADITOR.EXE  README.TXT

ADITOR.HLP ТЕКСТО~1.TXT

                           11 файлов         533
647 байт

                             2 папок      143
257 600 байт свободно

С помощью ключа /A[[:]атрибуты] можно
вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R
— «Только чтение», A
«Архивный», S — «Системный», H «Скрытый», префикс
«–»
имеет значение НЕ). Если ключ /A используется
более чем с одним значением атрибута, будут выведены имена только тех файлов, у
которых все атрибуты совпадают с заданными. Например, для вывода имен всех
файлов в корневом каталоге диска C:, которые одновременно являются скрытыми и
системными, можно задать команду

DIR C: /A:HS а для вывода
всех файлов, кроме скрытых — команду

DIR C: /A:-H

Отметим здесь, что атрибуту каталога соответствует
буква D, и для того, чтобы, например, вывести список всех каталогов диска C:,
нужно задать команду

DIR C: /A:D

Ключ /O[[:]сортировка] задает порядок сортировки
содержимого каталога при выводе его командой DIR. Если этот
ключ опущен,
DIR печатает имена файлов и каталогов в том порядке, в
котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не
указан, то DIR выводит имена в алфавитном порядке. В параметре
сортировка можно использовать следующие значения: N — по имени
(алфавитная), S — по размеру (начиная с меньших), E
— по расширению (алфавитная), D — по дате (начиная с
более старых), A по дате загрузки (начиная с более
старых),
G — начать список с каталогов. Префикс «–»
означает обратный порядок. Если задается более одного значения порядка
сортировки, файлы сортируются по первому критерию, затем по второму и т.д.

Ключ /S означает
вывод списка файлов из заданного каталога и его подкаталогов.

Ключ /B перечисляет только названия
каталогов и имена файлов (в длинном формате) по одному на строку, включая
расширение. При этом выводится только основная информация, без итоговой.
Например:

templt02.dat UNINST1.000 hilite.dat templt01.dat UNINST0.000
ttable.dat aditor.exe readme.txt aditor.hlp Текстовый файл.txt

1.3.6. Команды
MKDIR и RMDIR

Для создания нового каталога и удаления уже
существующего пустого каталога используются команды MKDIR [диск:]путь и RMDIR
[диск:]путь [ключи] соответственно (или их короткие аналоги MD и RD). Например:

MKDIR
«C:Примеры» RMDIR «C:Примеры»

Команда MKDIR не может быть выполнена, если каталог
или файл с заданным именем уже существует. Команда RMDIR не будет выполнена,
если удаляемый каталог не пустой.

1.3.7. Команда DEL Удалить один
или несколько файлов можно с помощью команды

DEL [диск:][путь]имя_файла [ключи]

Для удаления сразу нескольких файлов используются
групповые знаки ? и *. Ключ /S позволяет удалить указанные файлы из всех
подкаталогов, ключ /F – принудительно удалить файлы, доступные только для
чтения, ключ /A[[:]атрибуты] – отбирать файлы для удаления по атрибутам
(аналогично ключу /A[[:]атрибуты] в команде DIR).

1.3.8. Команда
REN

Переименовать файлы и каталоги можно с помощью
команды RENAME (REN). Синтаксис этой команды имеет следующий вид:

REN
[диск:][путь][каталог1|файл1] [каталог2|файл2]

Здесь параметр каталог1|файл1 определяет название
каталога/файла, которое нужно изменить, а каталог2|файл2 задает новое название
каталога/файла. В любом параметре команды REN можно использовать групповые символы
? и *. При этом представленные шаблонами символы в параметре файл2 будут
идентичны соответствующим символам в параметре файл1. Например, чтобы изменить
у всех файлов с расширением txt в текущей директории расширение на doc, нужно
ввести такую команду:

REN *.txt *.doc

Если файл с именем файл2 уже существует, то
команда REN прекратит выполнение, и произойдет вывод сообщения, что файл уже
существует или занят. Кроме того, в команде REN нельзя указать другой диск или
каталог для создания результирующих каталога и файла. Для этой цели нужно
использовать команду MOVE, предназначенную для переименования и перемещения
файлов и каталогов.

1.3.9. Команда
MOVE

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

MOVE [/Y|/–Y]
[диск:][путь]имя_файла1[,…] результирующий_файл

Синтаксис команды для переименования
папки имеет вид:

MOVE [/Y|/–Y]
[диск:][путь]каталог1 каталог2

Здесь параметр результирующий_файл задает
новое размещение файла и  может  включать имя диска, двоеточие, имя каталога,
либо их сочетание. Если перемещается только один файл, допускается указать его
новое имя. Это позволяет сразу переместить и переименовать файл.

Например,

MOVE «C:Мои документысписок.txt» D:list.txt

Если
указан ключ /-Y, то при создании каталогов и замене файлов будет выдаваться
запрос

на подтверждение. Ключ /Y отменяет
выдачу такого запроса.

2. МЕТОДИКА ВЫПОЛНЕНИЯ

1.       
Ознакомиться с теоретическими сведениями.

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

3.       
Увеличить размер окна интерпретатора и задать цвет фона и цвет
шрифта (рекомендуется синий фон и белый шрифт).

4.       
Создать список фамилий студентов группы, используя пример 1.
Отсортировать список в

алфавитном порядке и сохранить его в
новом файле.

Замечание
1
. При создании текстового файла интерпретатор командной строки использует
кодировку кириллица (DOS). Поэтому рекомендуется переназначать вывод в
файл с

расширением .txt, а для просмотра
содержимого файла использовать Internet Explorer, указав вид кодировки
кириллица (DOS). Пример вывода содержимого текстового файла приведен на рис. 3.

Замечание 2. Интерпретатор хранит историю введенных
команд в буфере (размером 50 строк). Для просмотра содержимого буфера
используйте клавиши клавиатуры СТРЕЛКА ВВЕРХ и СТРЕЛКА ВНИЗ. Полученную команду
можно отредактировать и выполнить снова.

Рис.3 – вывод содержимого текстового файла, полученного с
помощью команды DIR, в IE в кодировке кириллица (DOS)

5.       
Создать текстовый файл, содержащий справочные сведения по
командам DIR, COPY и XCOPY.

6.       
Вывести содержимое указанного в табл.3 каталога по указанному
формату на экран и в файл.

Таблица
3. Варианты заданий для бригад

Номера бригад

Имя каталога

Что выводить

Сортировать по

Атрибуты
фай- лов и каталогов

1, 6

%Windows%

Только файлы

По размеру

Системный

2, 7

%Windows%

Файлы и подкаталоги

По дате

Скрытый

3, 8

%Windows%

Только подкаталоги

Именам

Только чтение

4, 9

%Windows% и все
подкаталоги

Только файлы bmp

По размеру

Только чтение

5, 10

%Windows% и все
подкаталоги

Только файлы jpg

Именам

Любые

7.       
Скопировать все имеющиеся в каталоге Windows растровые
графические файлы в каталог WinGrafika на диске С:. Если диск С: недоступен,
использовать любой другой доступный диск.

8.       
Скопировать все имеющиеся в каталоге Windows исполняемые файлы в
каталог WinEx на

диске С:. Если диск С: недоступен,
использовать любой другой доступный диск.

3. КОНТРОЛЬНЫЕ ВОПРОСЫ

1.      Достоинства и недостатки интерфейса
командной строки.

2.      Инструменты командной строки для
автоматизации работы в ОС Microsoft Windows.

3.      Настраиваемые свойства
интерпретатора.

4.      Различие между внутренними и внешними
командами. Примеры внешних и внутренних команд.

5.      Структура команды интерпретатора.

6.      Получение информации о конкретной
команде.

7.      Групповые символы (шаблоны) и их
использование.

8.      Перенаправление ввода/вывода и
конвейеризация команд.

9.      Условное выполнение и группировка
команд.

10.   Назначение символов &,
&&, || и () .

11.   Команды для работы с файловой
системой – названия и возможности.

12.   Достоинства и недостатки команд COPY
и XCOPY.

13.   Назначение команды ECHO и примеры ее
использования.

14.   Команда DIR и ее возможности.

15.   В какой кодировке интерпретатор
выводит информацию и как получить читаемую твердую копию?

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

Инструменты и приложения командной строки в Windows

Общее имя приложения Исполняемое имя файла/командная строка

Параметры доступности access.cpl

Мастер специальных возможностей accwiz.exe

Активировать Windows msoobe.exe

Утилита активных подключений netstat.exe

Мастер установки оборудования hdwwiz.cpl

Установка и удаление программ appwiz.cpl

Адресная книга wab.exe

атр attrib.exe

Резервное копирование ntbackup.exe

Диспетчер конфигурации загрузки bootcfg.exe

Производитель шкафов (CAB) makecab.exe, diantz.exe

Калькулятор calc.exe

Карта символов charmap.exe

Chkdsk chkdsk.exe

Chkntfs chkntfs.exe

Средство просмотра буферов обмена clipbrd.exe

Командная строка cmd.exe

Службы компонентов dcomcnfg.exe

Управление компьютером compmgmt.msc

Установщик профиля диспетчера подключений cmstp.exe

Панель управления control.exe

Создать общую папку shrpubw.exe

Свойства даты и времени timedate.cpl

DDE Share ddeshare.exe

Диспетчер устройств devmgmt.msc

Инструмент управления DirectX dxdiag.exe

Очистка диска cleanmgr.exe

Дефрагментация диска defrag.exe

DiskPart diskpart.exe

Свойства отображения desk.cpl

Dr. Уотсон drwatson.exe, drwtsn32.exe

Диспетчер проверки драйверов Verifier.exe

DriverQuery driverquery.exe

Просмотр событий eventvwr.exe

Программа преобразования FAT в NTFS convert.exe

Факс-консоль fxsclnt.exe

Редактор титульной страницы факса fxscover.exe

Сравнение файлов (comp) Comp.exe

Сравнение файлов (fc) fc.exe

Утилита расширения файлов expand.exe

Мастер переноса файлов и настроек migwiz.exe

Параметры папки папки control.exe

Font Viewer fontview.exe

Папка шрифтов control.exe шрифты

ForceDOS forcedos.exe

Формат format.com <% 2

Подробная информация о некоторых доступна здесь:

Шифр | ЧкДск | Аттриб | CMD | Cleanmgr | Diskpart.

Посмотрите это Справочное руководство по средствам командной строки Windows от Microsoft.

Понравилась статья? Поделить с друзьями:
  • Инструменты для рабочего стола windows 10
  • Инструменты для работы с postgresql под windows
  • Инструменты для графики windows 10 что это
  • Инструменты для графики windows 10 сбой установки
  • Инструменты для графики windows 10 не устанавливается