Инструменты командной строки — всё по этой теме для программистов


Оглавление (нажмите, чтобы открыть):

Профессия IT

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

Страницы

среда, 30 мая 2007 г.

Инструменты программиста

Были времена, когда скопировал себе на компьютер папку с компилятором, в path прописал пути и все, можно программировать. Ныне же рабочее место программиста по сложности ПО и длительности его настройки не уступит, наверное, пульту управления космическим кораблем. Поговорим о тенденциях в этой области…

Вчера
Давно известный факт – одно изобретение, как правило, придумывается одновременно несколькими людьми. Обычно это любят демонстрировать на примере изобретения телефона. На свой лад я приведу другой пример, что называется, похвалив «свое болото». В университете я занимался разработкой универсальной системы управления: стиральной машинкой, телевизором, освещением и т.п. Закончил тему я на том, что сделал лабораторный стенд и дома, на себе его испытал. Прибор меня будил по утрам. Включал свет, телевизор, пока я собирался в университет. Когда я уходил, то телевизор и освещение автоматически выключались. Вечером, соответственно, с моим приходом домой все автоматически включалось. Побаловался и забросил, про себя отметив, что основным препятствием для такой автоматизации является отсутствие простого и в то же время универсального протокола обмена данными по шине. В те времена я разработал свой протокол. Прошло 2-3 года, и начался ажиотаж вокруг таких устройств. Заговорили, что к Интернету будет подсоединена даже кофеварка, а к нашему приходу домой ванна будет наполняться водой заданной температуры. Помня свой студенческий опыт, я сразу сказал, что это басни и ничего такого еще долго не будет, ибо в основе обмена данными между устройствами упорно предлагался протокол TCP , совершенно не годящийся для таких задач. Прошло еще 10 лет. Только-только стали появляться подобные системы за бешеные деньги. Читаю про них обзоры и ностальгически вздыхаю – работало многое из этого у меня уже тогда, лет 15 назад и стоило не сотни тысяч долларов, даже до 1000 баксов не дотягивало.

А теперь вернемся к инструментальным средствам программистов. В те же времена глубокой юности я купил на книжном рынке монографию, описывающую идеальную среду для разработки программ. В те времена псевдографическая оболочка Turbo P ascal 5.0 была верхом совершенства. А тут автор описывал про версии файлов, про автоматическую модификацию кода. В этих описаниях без труда можно разглядеть нынешние системы контроля версий, рефакторинг и пр. Многие вещи из той монографии до сих пор еще ждут своей реализации.

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

Компилятор. Зачастую и не один. Например, удобно низкоуровневые задачи программировать на C ++, а интерфейс пользователя – на Visual Basic и через DLL , COM «склеивать» часть, написанную на C ++, с кодом на VB . На сегодняшний день мало кто непосредственно вызывает компилятор, в основном пользуются различными RAD-системами.

RAD-система (например, Visual Studio , Eclipse и т.п.). Сейчас от программиста требуется не просто программировать, а быстро программировать. Без RAD -систем с их удобными конструкторами и мастерами тут уж никак. При том, установить среду надо со всеми необходимыми заплатками, framework ’ами.

Библиотеки подпрограмм и наборов классов ( VCL , MFC , boost , Fast Report, DevExpress и т.п.) со всеми обновлениями, заплатками.

Обычно у каждого программиста со временем накапливается свой набор библиотек, любимые книги по программированию, список сайтов и форумов, переписка с коллегами. Следовательно, на новом компьютере необходимо настроить папки с путями, установить туда библиотеки, в программе для телеконференций (например, Outlook Express ) сделать настройки для подключения к конференциям, настроить электронную почту, ICQ , установить поисковую систему (например, Google Desktop ), импортировать закладки в браузер.

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

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

Очень часто требуется знание не только нескольких языков программирования, но и работа с базами данных. Таким образом, вы должны владеть языком запросов к базам данных – SQL . Соответственно, в целях разработки, на компьютере необходимо установить сервер БД (например, MS SQL Server , Oracle ) c какой-либо графической консолью для работы с БД. Установить драйвера подключения к БД. После установки СУБД, «залить» на компьютер копию рабочей БД и настроить подключение к ней.

Наверняка может еще понадобиться инсталлятор ( Inno Setup , например).

Паковщик exe -файла типа ASPack .

Может быть, потребуется и система защиты от взлома программы ( ASProtect , ExeCryptor ).

Написание и компиляция help -файлов ( HTML Help Workshop ).

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

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

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

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

Средства проектирования (типа Visio).

Система баг-трекинга (например, Bugzilla).

Я уж и не говорю о таких программах как архиватор, Far (или Total Commander ), принтер, текстовый редактор (писать внутри организационные документы (справки, заявления и пр.), а также всякие readme . txt , install . txt , whatnew . txt ), антивирус и пр.

Даже если надо по-быстрому включиться в процесс, то все равно по минимуму надо установить и настроить RAD-систему, систему контроля версий, СУБД, библиотеки. Даже такая минимальная установка все равно потребует минимум полдня, и то, при условии что, все установиться с первого раза, без ошибок. Но скорей всего придется установку «подрихтовать»: где-то что-то вручную прописывать, пути менять, задавать переменные окружения и пр.

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

  1. Современные RAD-системы поставляются с уже готовыми настройками для подключения к системе контроля версий (CVS). Более того, интеграция с CVS развивается: в дополнительных окошках показываются версии, легко увидеть разницу между версиями, управлять прямо из среды разработки версиями.
  2. Теперь уже ни у кого не вызывает восхищения поддержка средой разработки нескольких языков программирования, притом компиляторы для них идут в одном пакете за одну цену.
  3. Компоненты для конструирования визуальных форм, для работы с БД, Web.
  4. Раздаются даром довольно таки функциональные среды разработки, СУБД, CVS.
  5. Новые технологии программирования. Например, весьма успешно развивается идея интерфейса для приложений на основе платформо-независимых форматов (HTML, XML), шире используется управляемый код (.NET, Java, даже так называемый MC++ появился). В итоге программы писать легче, меньше надо заботиться о платформо-независимости, распределенные вычисления — и те уже с помощью «визардов» можно запрограммировать. В СУБД можно писать хранимые процедуры не только на Java, но и на C#, VB и т.п. Множество всяких API, предлагаемых Интернет-сервисами, широкое распространение мобильных технологий.

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

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

  1. RAD-системы поголовно станут клиент-серверными приложениями. Для индивидуальных разработчиков будут выпускаться локальные серверные части RAD-систем. Сервера разработчиков будут обеспечивать всем разработчикам проекта:
    • Совершенно прозрачную поддержку обновлений через Интернет последних версий библиотек, используемого в разработке программного обеспечения, модулей системы.
    • Сервера будут предоставлять весь необходимый набор сервисов для разработки в зависимости от прав доступа разработчика: CVS, bug-tracking, управление генерацией билдов и инсталляционных копий, централизованное хранение документации по проекту, доступ к тестовой БД, доски объявлений, форумы (в том числе с трансляцией Интернет-форумов и т.д.
    • Сохранение профиля разработчика на сервере, так что при смене машины разработчик получит все свои настройки с сервера.
    • Создание и управление набором стандартных профилей для разработчиков. Новому разработчику достаточно будет только установить клиентскую часть системы, а она с сервера автоматически скачает весь необходимый софт со всеми требуемыми настройками, так что разработчик сможет приступить к работе немедленно.
  1. Уже сейчас исходный код сопровождается кучей вспомогательных файлов среды разработки (для Visual Studio это, например, *.sln, *.ncb, *.resx, *.manifest и т.д.). Многие из них представлены во внутреннем формате, который можно разобрать с помощью специальных программ, либо для доступа к ним использовать отдельный API. Следующий шаг — перевести сами файлы с исходными кодами программ во внутренний формат среды разработки. Типа того, что текст храниться ввордовском файле, который без MS Word и не разберешь. Вероятно, что в основе такого формата будет использоваться стандарт XML . Это позволит значительно улучшить форматирование исходного текста программы и позволит предоставить программисту больше информации по коду: по цвету текста, по цвету фона, по шрифту, начертанию.Станет возможным вставка в исходный код сопроводительных рисунков, схем, структур, всплывающих напоминаний, описаний, документации.
  2. Совершенно неважно будет, на каком языке программирования писать программу: можно будет поставить такие операторные скобки: «<>«, а можно такие: «begin end». Сервер автоматически приведет синтаксис к единому виду при сохранении в своем внутреннем формате. Возможно, что даже внутри одного файла допустимо будет мешать синтаксис различных языков. Вся прелесть будет не в этом, а в том, что если в клиентской части системы в профиле программиста будет указан C++, то при отдаче сервером из CVS исходного кода программисту, он автоматически будет преобразован к синтаксису C++, а «делфятник», соответственно увидит тот же код, но в синтаксисе Delphi.
  3. Введение внутреннего формата для исходных текстов программы (не волнуйтесь, ручками покопаться в исходниках вам никто не запретит — в ПО включат возможности экспорта/импорта) позволит завязать в единый клубок пока еще разрозненные системы:CVS, bug-tracking, диаграммы, профилер, help-файлы. Информация от этих сервисов будет подсвечиваться, всплывать, мигать в том месте исходного кода, с которым она связана. И, в конце концов, это приведет к введению слоев окна, как в фотошопе — вы будете управлять отображением той или иной информации, включая/отключая соответствующий слой окна.
  4. Весьма вероятно, что управляемый код и не управляемый в некой «золотой середине» сольются. Будущее все же не за фреймворками, но средства управления средой исполнения можно будет подключать к проекту, и они автоматически будут компилироваться в единый exe-файл с программой.
  5. Интерфейс пользователя будет описываться в платформо-независимом формате (на основе XML). Отделение интерфейса от ядра программы позволит запускать программу на различных ОС, при этом ядро программы будет работать как сервер по отношению к интерфейсу. Сервера приложений известны давно, но здесь речь более об интерфейсной части — интерфейсная часть программы прекрасно будет взаимодействовать с ядром программы даже через узкие каналы. Это особенно понравится компаниям с филиалами, которые смогут дешевыми узкими VPN -каналами объединить филиалы единой информационной системой. Притом, скорее всего, будет возможно конвертировать старый код в новый формат! Для частного пользователя ничего не измениться — интерфейс и ядро программы будут по-прежнему поставляться exe-файлом и набором dll. Некоторые читатели сразу проведут параллели с Web 2.0. Сразу скажу, Web 2.0 тут и не пахнет. Основная проблема Web 2.0 не столько в скудной непривлекательности интерфейса, сколько в зависимости от удаленных серверов. Выключите Google- и все: ваша почта, документы, таблицы, календарь вам уже недоступны.Web 3.0 должен научится кэшировать данные локально, синхронизировать локальные хранилища личных данных пользователя с сетевыми хранилищами.
  6. Ну а про СУБД. Да вы и сами видите что твориться — прямо из Visual Studio можно подключаться к серверу БД и редактировать структуру БД, создавать датасеты и в гридах видеть содержимое таблиц.
  7. Для второстепенных утилит (средств защиты программ от нелицензионного использования, паковщиков, обфуркаторов, инсталляторов) серверное ПО для команды разработчиков предложит API, а разработчикам — язык сценариев, планировщик, чтобы можно было автоматизировать процесс сборки билдов, инсталляционных копий и рассылки их тестерам, партнерам, клиентам.

Резюме
У меня нет сомнений в том, что всему придет свое время – идеи той монографии найдут свое отражение в современных инструментах программирования, а наши кофеварки мы все же когда-нибудь сможем запрограммировать через Интернет. «И вот тогда наступят другие времена» (С) В. Познер.

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

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

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

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

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

Выполнить несколько команд последовательно

Если вы не хотите ждать пока очередная команда закончит работы, прежде чем вы могли бы запустить следующую, существует способ ввести несколько команд, так , чтобы они были выполнены одна за другой. Все, что вам нужно сделать, это добавить «&&» между командами, чтобы разделить их следующим образом command1 && command2 && command3 . Теперь, когда команда command1 будет выполнена, запустится command2, а когда отработает она — запуститься command3.

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

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

Узнать IP-адрес веб-сайта

Если вы хотите узнать IP-адрес любого веб-сайта, вы можете легко сдлеать это прямо из командной строки. Для этой цели наберите nslookup название сайта > , например, nslookup coderjob .ru , и вы увидите его IP-адрес.

Просмотр ранее введенных команд

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

  • F1 — Он вставляет команду, которая была последней выполненной с помощью командной строки, по одному символу команды за одно нажатие.
  • F2 – Вставляет часть команды, которая была выполнена последней в командной строке, однако, попросит вас ввести символ до которого вы хотите вставить команду. Например, если последняя команда была ipconfig /displaydns и вы нажали d после нажатия клавиши F2, в командную строку будет вставлено ipconfig / т.е. будут вставленны все символы перед d.
  • F3 — Вставляет последнюю выполненную команду (целиком).
  • F4 — Отображает диалоговое окно, которое предлагает пользователю ввести символ, до которого надо удалить текст текущей команды.
  • F5 — Вставляет последнюю выполненную команду. При повторном нажатии, показывает все команды, в порядке обратном порядку исполнения команд. После того, как была показана самая старая команда, т.е. команда, которая была выполнена первой в текущей сессии, нажтие клавиши F5 не делает ничего.
  • F6 – Вставляет в командную строку управляющую последовательность ^Z.
  • F7 — Отображает список ранее используемых команд в виде диалога.
  • F8 — Вставляет в командную строку недавно выполненные команды. Обратите внимание, что в отличие от F5 в том, что происходит бесконечное циклическое переключение между ранее исполненными командами.
  • F9 — Как уже упоминалось выше, командная строка хранит список всех выполненных команд. Этот список пронумерован от 0 до 9. При нажатии клавиши F9, появляется диалог с приглашением ввести номер команды, которую вы хотите использовать повторно.

Кроме того, если вы хотите прекратить выполнение команды до того, как она сама завершит работу, вы может использовать комбинацию клавиш Ctrl + C.

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

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

  • Введите cmd в поле поиска меню ‘Пуск’ и нажмите одновременно Ctrl + Shift + Enter.
  • Создайте ярлык для cmd.exe. Щелкните правой кнопкой мыши файл ярлыка и нажмите кнопку Свойства. На вкладке Ярлык нажмите на кнопку ‘Дополнительно’. Появится новое диалоговое окно. Выставте флажок Запуск от имени администратора и нажмите кнопку ОК. Затем нажмите кнопку OK, чтобы закрыть окно Свойства ярлыка. Теперь, когда вы захотите, открыть окно командной строки с правами администратора, вам надо будет только дважды щелкнуть созданный ярлык.
Автодополнение команд клавишей Tab

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

Чтобы использовать автодополнение в командной строке, просто введите команду, а затем часть пути к файлу, которую вы знаете. Затем, нажмайте клавишу Tab до тех пор, пока нужное вам значение не будет вставленно в командную строку.

Например, вы хотите изменить каталоги в какую-нибудь папку в папке Windows, но вы не уверены, как она называется. Введите команду cd C : \ Windows \ , а затем нажимайте клавишу Tab до тех пор, пока не увидите папку, которую вы ищете.

Узнать IP-адрес и имя своего компьютера в локальной сети

С помощью одной команды командной строки вы можете легко получить основную информацию о вашем подключении к сети, например такую как IP-адрес, маска подсети и адрес шлюз по умолчанию. Для этого введите в командной строке ipconfig / all и нажмите клавишу Enter. Чтобы узнать сетевое имя своего компьютера введите команду hostname

Кроме того, если IP-адрес вашему компьютеру назначается динамически (т.е. в вашей сети исползуется DHCP) вы может принудительно обновить ваш IP-адрес выполнив следюущую команду:
ipconfig / release & ipconfig / renew

Получить информацию о сетевых дисках и папках

Введите net use в командной строке, и вы увидите вам все сетевые диски, к которым вы подключены. Чтобы узнать, какие папки на вашем компьюетер являются доступными из сети, введит команду net share .

Узнать модель и серийный номер вашего компьютера

Введите wmic computersystem get model , чтобы выяснить модели компьютера, на котором вы работаете. Кроме того, вы можете выяснить серийный номер вашего компьютера введя следующую команду: wmic bios get serialnumber .

Открыть проводник Windows из командной строки

Чтобы открыть проводник Windows находясь в командной строке, введите команду start . и нажмите Enter.

Выключение и перезагрузка компьютера из командной строки

Для выключения кмопьютера из командной строки вам необходимо выполнить следующую команду:
shutdown / s / t 60 и система будет выключена через одну минуту (за это отвечает ключ /t с количеством секунд задержки — 60).
Для выключения удаленного компьютера, работающего на Windows, вам надо выполнять команду следующего вида: shutdown / s / t 60 / f / L / m \ \ 192.168.1.55 Чтобы перезагрузить системы вам надо выполнить команду shutdown — r — t 0 .

Инструменты командной строки, о которых должен знать каждый

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

System File Checker

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

Driverquery

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

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

  • driverquery /folist выведет отчет в виде списка;
  • driverquery /focsv > имя_файла.csvотчет будет записан в файл с заданным именем, находящийся в пользовательской папке.

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

Инструмент chkdsk поможет в случае появления ошибок в системе размещения файлов. Также он может найти и восстановить сбойные секторы на жестком диске. Чтобы запустить полную проверку диска, в командной строке наберите следующее:

chkdsk C: /F /R

дополнительные параметры означают:

  • « – проверяемый диск;
  • «/F» – автоисправление найденных ошибок;
  • «/ – будет также произведен поиск поврежденных секторов на диске и попытка их восстановления.

IPConfig

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

Доступны также дополнительные параметры, позволяющие получить следующую информацию:

  • Ipconfig /all – вывод на экран максимально подробной информации о TCP/IP соединениях;
  • Ipconfig /release – освободить используемый IP-адрес текущего адаптера;
  • Ipconfig /renew – обновить текущий IP-адрес;
  • Ipconfig /flushdns – очистка кэша DNS

Вместо послесловия

Командная строка – мощный системный инструмент. А как используете ее вы? Делитесь опытом в комментариях.

Утилиты из командной строки, которые полезны даже в Windows 8

Содержание статьи

И снова о главном — давай поговорим о хорошо знакомом тебе cmd.exe. Даже в новомодной «восьмерке» консоль никуда не делась, и выполняет все привычные для тебя задачи и даже таит в себе несколько сюрпризов.

1. Команда ipconfig

Наиболее известная и поэтому наименее интересная в нашем обзоре. Эта команда знакома всем «командным» администраторам и большинству пользователей: когда возникают проблемы с интернетом, сотрудники техподдержки просят пользователя ввести именно ее.

Команда позволяет просматривать TCP/IP-информацию и работать с ней. Можно использовать ее для проверки IP-адреса компьютера, освобождения или обновления аренды назначенного IP-адреса и даже для уничтожения локального DNS-кеша.

Если просто ввести ipconfig в командной строке, команда отобразит информацию об IP-адресах всех сетевых адаптеров. Для каждого адаптера выводится его описание, например «Ethernet-адаптер» или «Адаптер беспроводной локальной сети», чтобы было понятно, конфигурация какого именно показана. Обычный набор информации содержит IP-адрес, маску подсети, основной шлюз и еще пару полей не очень полезных сведений. Если требуется получить больше данных, нужно использовать параметр /all. При этом команда выведет гораздо больше информации, а самое полезное в расширенном выводе — это поле «Физический адрес», то есть MAC-адрес адаптера.

Кроме параметра /all команды ipconfig, заслуживают пристального внимания параметры /release, /renew и /flushdns. Первый позволяет освободить IP-адрес, назначенный по протоколу DHCP. Правда, после этого сеть откажется работать, так как сетевой интерфейс окажется несконфигурированным, поэтому пригодится второй параметр — /renew, который позволяет обновить всю информацию, назначаемую по DHCP. Этот параметр очень полезен, поскольку заставляет твой комп переподключить к маршрутизатору или к серверам провайдера. Бывает так, что при загрузке комп не видит беспроводную сеть (такую проблему я периодически наблюдаю на своем домашнем компе под управлением Windows 7). Вместо перезагрузки компа проще ввести ipconfig /renew, и сеть появится. Третий параметр позволяет уничтожить весь локальный DNS-кеш. Иногда уничтожение DNS-кеша позволяет решить некоторые проблемы установки соединения, например, когда DNS-информация на сервере уже обновлена, но старая еще осталась в локальном кеше.

Рис. 1. Вывод команды ipconfig /all

Хакер #184. Современный фронтенд

2. Команда sfc

Команда sfc (system file checker) позволяет проверить системную файловую систему. Не стоит путать эту команду с командой chkdsk (check disk). С помощью последней можно исправить файловую систему на более низком уровне и даже пометить bad-секторы. А вот команда sfc пригодится, если вдруг какой-то системный файл Windows поврежден. Она может обнаружить это и заменить битый файл без всякого вмешательства со стороны пользователя. Очень и очень полезная команда. Она сравнивает тысячи базовых Windows-файлов с оригинальными версиями, которые поставлялись с Windows, и при необходимости заменяет поврежденные или отсутствующие файлы с помощью Windows Update. В зависимости от того, как установлена Windows, может понадобиться, а может и не понадобиться инсталляционный носитель. Обычно он не нужен.

Можно выделить следующие полезные параметры sfc:

  • /scannow — осуществляет немедленную проверку системы и при необходимости заменяет файлы. После выполнения sfc нужно перезагрузить Windows, если были найдены проблемы.
  • /scanonce — проверка будет произведена при следующем перезапуске системы.
  • /scanboot — проверка будет идти при каждом перезапуске системы. Отменить позволяет параметр Revert: после того, как поэкспериментировал с параметром /scanboot, нужно выполнить команду sfc Revert, иначе проверка будет осуществляться при каждом перезапуске.

Рис. 2. Результат выполнения sfc /scannow

3. Команда chkdsk

Команда chkdsk (Check Disk) позволяет починить ошибки файловой системы, обнаружить bad-секторы, восстановить читаемую информацию из bad-секторов. Windows проверяет диски автоматически, однако chkdsk можно запустить и вручную, если есть подозрения, что с диском что-то не так.

В качестве параметров команде нужно передать имя тома или имя файла (если требуется проверить один файл или группу файлов, в этом случае нужно передать маску файла). Параметр /F автоматически исправляет ошибки, параметр /R позволяет обнаружить bad-секторы и восстановить информацию с них. Если chkdsk не может получить исключительный доступ к диску, тогда проверка диска будет произведена при следующей загрузке системы. Это обычное явление при попытке проверить диск C:. Пример: chkdsk D: /R.

Рис. 3. Отложенный запуск chkdsk

4. Команда driverquery

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

Мастер Йода рекомендует:  6 способов генерации лидов, которые ускорят рост стартапа

Самые полезные параметры этой команды — /s, /si и /fo. Первый параметр позволяет указать имя или IP-адрес удаленного узла, драйверы которого нужно исследовать. Второй параметр показывает цифровую подпись драйверов. Третий позволяет указать формат отчета: /fo TABLE — таблица (по умолчанию), /fo LIST — список, /fo CSV — CSV-формат, который удобно будет просматривать в Excel или подобной программе. Пример:

Рис. 4. Команда driverquery | more

5. Команда cipher

Данная команда используется для работы с зашифрованными папками и файлами на NTFS-томах. Обычно с такими папками и файлами работают через графический интерфейс (что значительно удобнее), но у команды cipher есть очень полезный параметр /W:

Параметр /W (например, /W:C:) удаляет данные на неиспользуемых частях тома и эффективно стирает данные на жестком диске после их удаления. Другими словами, эту команду можно использовать для физического удаления данных с диска — так, чтобы их нельзя было восстановить специальными утилитами. Нужно отметить, что применяется она только к обычным жестким дискам, но не к SSD-дискам. Считается, что с SSD файлы удаляются немедленно и без возможности восстановления. Хотя заинтересованным читателям я бы порекомендовал прочитать вот это.

Рис. 5. Команда cipher /W:C:

6. Команда powercfg

Команда powercfg управляет параметрами электропитания. У нее очень много параметров, и если действительно нужно управлять электропитанием из сети, то лучше воспользоваться параметром /? для получения справки обо всех. Но большинству пользователей будут интересны параметры /a и /batteryreport. Первая команда выводит список драйверов, которые не позволяют системе «уснуть», а вторая выводит отчет об использовании батареи.


7. Команда shutdown

В UNIX для завершения работы системы (выключения, перезагрузки) используется команда shutdown. Мало кто знает, но одноименная команда есть и в Windows. Теперь фанаты UNIX могут завершать работу системы командой shutdown -s и перезагружать систему командой shutdown -r. Также доступен параметр -t, позволяющий задать таймер завершения работы (в секундах), например, в следующем примере система будет перезагружена через одну минуту: shutdown -r -t 60. Параметр -f обеспечивает принудительное завершение работы с закрытием всех запущенных приложений.

Ссылки

  • О команде powercfg:www.hanselman.com/blog/PowerCfgTheHiddenEnergyAndBatteryToolForWindowsYoureNotUsing.aspx
  • Справочное руководство по командной строке от Microsoft: technet.microsoft.com/en-us/library/bb490890.aspx
  • Об управлении службами и команде sc: www.osp.ru/win2000/2011/06/13009943/
  • Подробно о команде sc config: www.osp.ru/win2000/2007/04/4257187/

8. Команда sc

Команда sc взаимодействует с контроллером служб и установленными службами. В UNIX/Linux можно управлять службами (сервисами, демонами) из командной строки (в принципе, не знаю такой вещи, которую нельзя было бы выполнить из командной строки в UNIX). С помощью утилиты sc можно управлять службами из командной строки в Windows. Можно запускать и останавливать службы, изменять тип запуска службы и так далее.

Так, для запуска и останова службы используются соответственно параметры start и stop:

Назревает вопрос: как узнать имя службы? Очень просто — для этого нужно использовать параметр query, в результате будет отображен детальный перечень всех служб:

Так как список очень большой, для его просмотра можно перенаправить вывод команды или в команду more (для пагинации), или в буфер обмена (команда clip), или в файл:

Дополнительную информацию об этой команде можно найти на врезке.

Рис. 6. Команда sc query | more

9. Команда recover

Используется для восстановления информации с испорченного или дефектного диска. Представим, что у нас есть каталог d:\reports\2014 и в нем был файл jan.txt, но на диске появились bad-секторы, и прочитать файл jan.txt не получается. Для восстановления (частичного) информации из этого файла можно использовать команду

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

10. Команда tree

Кому-то команда tree покажется бесполезной, однако она пригодится разработчикам программного обеспечения и техническим писателям. Команда tree отображает структуру каталогов по указанному пути. Например, у нас есть проект c:\my_prj\project1. Нужно построить структуру подкаталогов этого каталога. Для этого можно использовать следующие команды:

Первая команда копирует структуру каталогов в буфер обмена, а вторая помещает в файл с именем project1.txt.

10 полезных инструментов и библиотек для программистов и IT профессионалов

В каждой профессии есть свои инструменты, в том числе и у разработчиков программного обеспечения. Хороший программист знает свои инструменты лучше других, а также использует более мощные и продвинутые инструменты, в отличие от среднестатистического программиста. Есть определённые инструменты, которыми должен владеть каждый разработчик ПО. Это список именно таких инструментов.

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

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

Может показаться, что 10 инструментов — это ни о чём. Но, если честно, любой программист, зная эти инструменты действительно хорошо, сможет выполнить немало повседневной работы.

Без дальнейших церемоний, давайте разберём мой список из 10 инструментов, которые каждый разработчик должен знать на отлично.

1. Git и Github

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

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

На сегодняшний день синонимами инструмента управления репозиториями и инструмента управления версиями стали Git и Github.

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

2. SQL

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

Так как в реальном мире мы используем базы данных повсеместно, программист должен хорошо понимать SQL.

Помимо знания основных команд, таких как SELECT, INSERT, UPDATE и DELETE, программист должен знать, как писать сложные запросы, используя слияния, агрегатные функции, подзапросы и другие расширенные функции.

3. Python

Вас может удивить, что Java-разработчик рекомендует каждому программисту изучать Python. На это есть причина. Python — это мощный объектно-ориентированный язык программирования высокого уровня, который, к тому же, очень универсальный.

Вы можете не только создавать большие приложения, как вы делаете это в Java, но также вы можете использовать Python для создания полезных скриптов для автоматизации.

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

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

4. Excel или любая электронная таблица

Microsoft Excel ― ещё один важный инструмент для программистов и разработчиков ПО. Excel предоставляет гораздо большие возможности, чем просто работа с таблицами. Вы даже не представляете, сколько всего можно сделать с помощью Excel.

Самая веская причина начать изучение Microsoft Excel в том, что его используют везде. Excel пользуются все: начиная от бизнесменов и заканчивая BA, QA и project-менеджерами. Вы можете использовать его для генерирования отчётов, автоматизации и согласования и ещё много чего.

5. Word или схожие приложения

Microsoft Word не так популярен, как Microsoft Excel, но по-прежнему является одним из основных инструментов для программистов.

Разработчику часто приходится создавать документы, например, программную документацию. Microsoft Word ― лучший инструмент для подобных задач. Он предоставляет тонкие настройки форматирования для создания действительно красивой документации.

6. PowerPoint

Microsoft Excel, Word и Powerpoint формируют трилогию основных офисных инструментов. Поэтому они необходимы для инженеров-программистов и IT специалистов, включая разработчиков, QA, BA и project-менеджеров.

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

7. Текстовые редакторы (SubLime)

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

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

8. Командная строка Linux

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

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

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

9. SVN

Git занял почти 70% рынка систем контроля версий. Тем не менее, всё ещё есть проекты, не только проприетарные, но и с открытым исходным кодом, в которых используется SVN (также известный как subversion), поэтому программистам будет полезно изучить Tortoise SVN.

Это такой же инструмент, как и Git. Я начинал работать с SVN 12 лет назад, и он все ещё актуален.

10. Powershell или Cygwin

После работы в Linux, вы можете чувствовать ограниченность при работе в Windows, потому что в нём нет командной строки Linux. В Windows эту проблему решает Powershell. Windows PowerShell — это оболочка, разработанная корпорацией Microsoft для автоматизации задач и управления конфигурацией.

Эта мощная оболочка основана на .NET framework и включает в себя оболочку командной строки и скриптовый язык, так что вы можете автоматизировать задачи и создавать скрипты, как вы делаете это в Linux.

На этом всё. Я привёл лишь некоторые основные инструменты, которые нужны каждому, будь вы веб-разработчик, работающий на JavaScript, Java-разработчик, работающий над серверным кодом, или мобильный разработчик, работающий с приложениями Android или iOS.

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

Инструменты командной строки — всё по этой теме для программистов

Несмотря на простоту использования графического интерфейса пользователя 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.

Рис. 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 включает следующие папки:

Это означает, что любой файл программы, 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]:

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

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

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

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

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

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

Не каждый из перечисленных способов получения подсказки может хорошо сработать для любой команды, но как минимум один из них даст объяснение, что команда делает и с какими опциями командной строки её нужно использовать, а также примеры такого использования. Опции командной строки для операционных систем 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.

Рис. 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, то это не требуется).

Мастер Йода рекомендует:  Бесплатные игровые движки на HTML5 и JavaScript

Например, Вы создали папку 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 в каталоге \windows\system32 используются, но только тогда, когда Windows нуждается в запуске приложения MS-DOS или Windows 3.x. Любое изменение этих файлов даст эффект в следующий раз, когда Вы снова запустите старое приложение — не нужно перезапускать Windows.

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

Совет: на своих компьютерах автор [1] всегда меняет эти файловые настройки для установки files=100, и добавляет строку с ansi.sys (для дополнительной информации по ansi.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 (Открыть), и перейдите в папку \windows\system32. Выберите файл 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 и для примера поэкспериментируйте с командами:

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

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

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

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

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

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

Пример: ap c:\test

bye.bat:

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

Пример: bye

e.bat:

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

Пример: e d:

h.bat:

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

Пример: h

n.bat:

Открывает в Notepad файл для редактирования.

Пример: n test.bat

s.bat:

Делает папку 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. Окно командной строки откроется в каталоге по умолчанию \users\your_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 для закрытия этого окна.

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

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

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

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

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

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

Скрипт отображает свободное пространство на каждом из дисков компьютера. Введите этот скрипт в файл с именем 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 отобразит текущие привязки сетевых дисков Вашего компьютера:

[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. Нижнее подчеркивание в конце некоторых строк означает продолжение строки.

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

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:

[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 месяцев:

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

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

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

Как было сказано ранее, Вы не ограничены простым использованием команд, которые вводите в окно 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 или \Windows\system32. Для сторонних приложений просмотрите подкаталоги в папке \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 для завершения задачи.

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

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

14 команд CMD, которые должен знать каждый пользователь

Нередко неопытные пользователи воспринимают командную строку Windows как нечто совершенно ненужное и отжившее свой век. Думать так — это большая ошибка. Значение командной строки или иначе консоли CMD трудно переоценить даже после того как она потеряла большую часть своих команд доступных в MSDOS. Достоинство командной строки заключается, прежде всего, в обеспечении прямого доступа к операционной системе и её скрытым возможностям, кроме того консоль CMD имеет в себе несколько полезнейших встроенных утилит предназначенных для работы с программными и аппаратными компонентами компьютера.

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

Assoc

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

Например командой assoc .html = txtfile для файлов с расширением HTML устанавливается тип файла txtfile (текстовый). Если же вам нужно узнать какой именно программой открываются файлы с таким расширением, используйте команду ftype txtfile.

Cipher

Эта команда предназначается для шифрования и дешифрования данных на дисках с файловой системой NTFS, но с таким же успехом она может использоваться для зачистки свободного дискового пространства. Пользоваться ей очень просто. Если вам нужно гарантированно удалить остатки всех ранее удалённых файлов на диске D, выполните в консоли команду cipher /w:D.

Driverquery

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

FC (File Compare)


Команда FC пригодится в основном кодерам, также она может использоваться теми юзерами, которым приходится работать с текстовыми файлами. Эта команда позволяет сравнивать содержимое двух файлов, отыскивая между ними несоответствия. Допустим, у вас имеются два файла file1.docx и file2.docx и вы хотите их сравнить. Выполните в консоли следующую команду:

fc /U “D:file1.docx” “D:file2.docx”

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

Ipconfig

Полезная команда позволяющая определить текущие настройки протокола TCP/IP или попросту IP-адрес. Однако показывает она только внутренний IP-адрес, если же вы используете роутер и хотите узнать тот IP, с которым вы выходите в глобальную Сеть, лучше обратиться к помощи специальных онлайновых сервисов типа 2ip.ru.

Netstat

Эта команда выводит список всех текущих интернет-соединений. Используется она в основном администраторами для отображения TCP и UDP-соединений, прослушиваемых портов, таблиц маршрутизации и статистических данных для различных протоколов. Также может использоваться для поиска следов, оставляемых вирусами и прочими вредоносными объектами. Выполненная без параметров команда Netstat отображает тип соединения, локальный адрес, внешний адрес и текущее состояние.

Как и Netstat команда ping используется в основном системными администраторами. Служит она для диагностики компьютерных сетей. С её помощью можно определять доступность тех или иных ресурсов. Допустим вам нужно проверить доступность Google. Поскольку DNS сервер Google имеет адрес 8.8.8.8, в консоли CMD нужно выполнить команду ping 8.8.8.8.

Цифровой IP-адрес также может быть заменён текстовым URL-адресом — ping google.com. Если узел окажется недоступен будет выведено сообщение «превышен лимит ожидания», а количество потерь при этом составит 100 процентов.

Tracert

Ещё одна «сетевая» команда, предназначенная для диагностики сети (трассировки). Команда позволяет получить цепочку узлов, через которые проходит IP-пакет, адресованный конечному узлу. Используется системными администраторами для выявления неполадки, препятствующей доставке пакетов конечному узлу. Примером использования команды может послужить трассировка к узлу того же Google: tracert google.com.

Pathping

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

Powercfg

Мощная утилита командной строки, предназначенная для управления параметрами электропитания Windows. Выполняется только с параметрами. Выполненная с ключом /Q команда Powercfg выводит текущую конфигурацию схемы электропитания, с ключом /a выводит отчет об использовании электроэнергии в ноутбуках, с ключом –energy генерирует детальный текстовый лог о состоянии компонентов компьютера, включая аккумуляторные батареи. Также команда Powercfg может использоваться для создания резервных копий настроек электропитания и развёртывания их на новом оборудовании.

Shutdown

Эта команда используется для завершения сеанса пользователя, выключения, перезагрузки и перевода компьютера в режим гибернации. Поддерживает удалённое управление. Выполняется shutdown всегда с параметрами. Например, команда вида shutdown /s /t 0 приведёт к завершению работы открытых приложений и немедленному выключению компьютера. Посмотреть список доступных ключей можно выполнив в консоли shutdown /?.

Sfc (System File Checker)

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

Tasklist

Команда Tasklist делает ту же работу, что и Диспетчер задач. Выполненная без параметров она выводит список всех запущенных процессов выполняющихся на локальном или удалённом компьютере. При этом для каждого процесса отображается его название, идентификатор (PID), имя сессии, номер сеанса и выделенный объём оперативной памяти. Команда Tasklist поддерживает использование ключей и фильтров. Например, Tasklist /SVC выводит список процессов вместе со службами для каждого процесса в отдельности.

Taskkill

Если Tasklist просто выводит список запущенных процессов, то Taskkill завершает их работу в принудительном режиме. Правда для этого вам потребуется знать идентификатор завершаемого процесса или название исполняемого файла. Допустим, вам нужно принудительно закрыть Блокнот. Выполняем для начала команду Tasklist и смотрим PID процесса notepad.exe. В нашем случае он имеет значение 2580. Зная PID процесса его легко можно «убить». Сама же команда будет выглядеть так: Taskkill /PID 2580. Примерно так же сработает команда Taskkill /IM notepad.exe, только в этом примере будут завершены все экземпляры процесса notepad.exe.

На этом пока всё. Есть и другие полезные команды CMD, с которыми пользователям желательно было бы познакомиться, но о них мы расскажем в следующий раз. К таковым в частности относится Diskpart — мощный инструмент управления дисками и разделами не уступающий возможностями коммерческим программным продуктам типа Acronis Disk Director.

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

Впрочем, желающим освоить консоль CMD не мешало бы также обратить внимание на её продвинутый аналог — встроенную утилиту PowerShell.

Основные cmd команды – просто о полезном

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

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

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

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

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

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

Командной оболочкой Windows для манипуляции и перенаправления команд определенным утилитам и средствам операционной системы является интерпретатор Cmd.exe . Он загружает консоль и перенаправляет команды в понятном для системы формате.

Работа с командной строкой в операционной системе Windows

Вызвать консоль в Windows можно несколькими способами:

    Через утилиту « Выполнить » — для ее запуска нужно задействовать комбинацию клавиш « Win»+ «R ». Затем ввести в поле команду cmd и нажать « Ok »;

  • Через меню « Пуск » — переходим во « Все программы » — « Стандартные » — « Командная строка ».
  • Оба способа подразумевают запуск консоли от имени текущего пользователя. То есть со всеми правами и ограничениями, которые наложены на его роль в операционной системе. Для запуска cmd с правами администратора нужно в меню « Пуск » выделить значок программы и в контекстном меню выбрать соответствующий пункт:

    После запуска утилиты можно получить справочную информацию о командах и формате их написания в консоли. Для этого нужно ввести оператор help и нажать на « Enter »:

    Основные команды для работы с файлами и директориями

    Наиболее часто употребляемыми являются следующие команды:

    • RENAME – переименование директорий и файлов. Синтаксис команды:

    RENAME | REN [диск/путь] исходное имя файла/каталога | конечное имя_файла
    Пример: RENAME C:UsersдомашнийDesktoptost.txt test.txt

    • DEL (ERASE) – используется для удаления только файлов, а не каталогов. Ее синтаксис:

    DEL | ERASE [метод обработки] [имя_файла]
    Пример: Del C:UsersдомашнийDesktoptest.txt/P

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

    • MD – позволяет создать папку по указанному пути. Синтаксис:

    MD [диск:] [путь]
    Пример:
    MD C:UsersдомашнийDesktoptest1test2

    В примере будет создана подпапка test2 в папке test1 . Если одна из корневых папок пути не существует, то она тоже будет создана:

    • RD ( RMDIR ) – удаление определенной папки или всех директорий по указанному пути. Синтаксис:

    RD | RMDIR [ключ_обработки] [диск/путь]
    Пример:
    rmdir /s C:UsersдомашнийDesktoptest1test2

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

    В следующем разделе мы подробно рассмотрим сетевые команды cmd .

    Команды для работы с сетью

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

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

    ping [-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [<-j список_узлов | -k список_узлов>] [-w интервал] [имя_конечного_ПК]

    Пример реализации команды:
    ping example.microsoft.com
    ping –w 10000 192.168.239.132

    В последнем примере cmd ping команды запрос посылается адресату с указанным IP адресом. Интервал ожидания между пакетами составляет 10 000 (10 сек). По умолчанию этот параметр установлен на 4 000:

    • tracert – служит для определения сетевого пути к указанному ресурсу путем посыла специального эхо-сообщения через протокол
    • ICMP ( Control Message Protocol ). После запуска команды с параметрами выводится список всех маршрутизаторов, через которые проходит путь следования сообщения. Первый в списке элемент является первым маршрутизатором со стороны запрашиваемого ресурса.

    Синтаксис tracer команды cmd :
    tracert [-d] [-h максимальное_число_переходов] [-j список_узлов] [-w интервал] [имя_конечного_ресурса]
    Пример реализации:
    tracert -d -h 10 microsoft.com

    В примере прослеживается маршрут к указанному ресурсу. При этом увеличивается скорость совершения операции за счет применения параметра d, который предотвращает попытки команды получить разрешение на чтение IP адресов. Количество переходов ( прыжков ) ограничено 10 с помощью установленного значения параметра h. По умолчанию, количество прыжков равно 30:

  • shutdown – используется для перезагрузки, отключения и выхода из сеанса определенного пользователя локальной машины или удаленного ПК. Синтаксис этой cmd команды сети:
  • shutdown [<-l|-s|-r|-a>] [-f] [-m [\имя_ПК]] [-t xx] [-c «сообщения»] [-d[u][p]:xx:yy]
    Пример:
    shutdown /s /t 60 /f /l /m \191.162.1.53

    Произойдет выключение ( s ) удаленного ПК ( m ) с указанным IP адресом ( 191.162.1.53 ) через 60 секунд ( t ). При этом принудительно будет выполнен выход из всех приложений ( f ) и сеанса текущего пользователя ( l ).

    Еще несколько нужных команд

    При работе с ПК может пригодиться еще несколько команд из огромного списка операторов cmd . Вот некоторые из них:

    • format – выполняет форматирование CD диска в дисководе, имя которого указано в параметрах. Синтаксис команды:

    format том [/fs: Файловая_Система] [/v: метка] [/q] [/a: размер] [/c] [/x]

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

    Это подтверждает следующий пример написания команды:
    format e : — будет отформатирован носитель в дисководе E;

    • s et – служит для работы с переменными среды. Эта cmd команда позволяет создавать, удалять и присваивать значение переменным, которые можно использовать во время работы с командной строкой. Синтаксис:

    set [[/a [выражение]] [/p [имя_переменной=]] строка]
    Пример:
    set include=c:inc

    • start – предназначена для запуска указанной программы или команды в отдельном окне:

    Пример:
    start notepad

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

    Программирование в Cmd введение для новичков

    Для новичков

    Это всего лишь введение в команды cmd, не судите строго, статья писалась для Новиков, та и многим другим я думаю пригодиться =)
    Наверно многие и не подозревают, что cmd это универсальная оболочка,
    которая позволяет не просто администрировать систему, но и программировать!
    Конечно уровень языка не столь высок, как например с , но все же.

    Для начала, напишем маленькую программку, которая будет выводить строчку, записанную в переменную.
    Заходим на диск С:\ и создаем там что то типа program_1.cmd (можно *.bat)
    открываем его блокнотом и вписываем туда следующие строки:

    rem программа_1
    cls
    @echo off
    color 0A
    set string=Hellow World.
    echo %string%

    rem — используеться для описния коментариев
    cls — если кто еще незнает, это отчистка экрана
    @echo off — выключаем отображение команд на экране. Обратите внимание на @
    перед ECHO! Она предотвращает эхо-отображения команд в отдельной строке.
    color 0A — задаем цвет фона и текста
    set string=Hellow World. — set используется для описания переменных
    echo %string% — вывод на экран переменной, обратите внимание на %%, это
    обозначает, что это действительно переменная, а не строка!

    С кодом разобрались, теперь посмотрим на исход программы! Запускаем ее на выполнение через cmd:
    program_1.cmd
    Результат выполнения будет, как вы догадались Hellow World. Ярко-зелеными буквами на черном фоне

    Теперь немножко усложним задачку, добавим в этот код условие!

    rem программа_2
    cls
    @echo off
    color 0A
    set a=1
    set timer=10
    if %a%==1 (shutdown /r -t %timer% -c «Вас похекали»
    ) else (echo a!=1)

    Я думаю вы уже догадались что будет на выводе. Мы сравниваем значение записанное в переменную “а” с 1, если условие истина, то компьютер перезагрузиться через 10 секунд, в ином случае на вывод подается надпись, что a!=1. Пример банален и прост,
    ну зато понятен для многих.

    А теперь перейдем непосредственно к циклам. Рассмотрим самый элементарный пример:
    rem программа_3
    cls
    @echo off
    color 0A
    for /l %B in (0,1,10) do echo %B

    данная программа выведет в столбик цифры, от 0 до 10 с шагом 1 =) все просто, как .
    А теперь немного сложнее, for может использоваться в более весомых целях,
    например для перебора файлов, для примера можете написать в cmd:

    for %B in (C:*.cmd) do (echo %B)

    В ответ вы получите все ваши программки с расширением *.cmd

    Также циклом for можно перебрать каталоги, к примеру

    for /d %B in (C:*) do echo %B

    Покажет все каталоги на диске С:\ (Обратите внимание, только каталоги, а не подкоталоги!)

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

    (for /f «tokens=1-5» %A in (users.txt) do @echo %D) > emails.txt

    К примеру, база у нас «идеальная», типа:

    Vasya Pupkin heck 111@mail.ru 81231111111
    Dima Ivanov lamer 222@mail.ru 81232222222
    Genya Petrov lamer 333@mail.ru 81233333333
    Egor Sidorov lamer 444@mail.ru 81234444444
    Anton Popovich lamer 555@mail.ru 81235555555
    Kostya Terentev lamer 666@mail.ru 81236666666
    Vanya Onisenko lamer 777@mail.ru 81237777777
    Misha Loshenko lamer 888@mail.ru 81238888888
    Vlad Sorochinskiy lamer 999@mail.ru 81239999999

    Мы с помощью цикла перебираем все слова, и записываем 4(%D) в файл emails.txt =)

    Что же еще можно сделать с cmd?

    Опишу свой пример. Я занимаюсь созданием веб-сайтов, которые используют базу данных mysql. С базой я работаю через консоль, для меня привычнее. Что б не париться я написал небольшую программку mysql.cmd которая к ней будет подключаться:

    PHP код:
    v:
    cd usrlocalmysql4bin
    mysql.exe -u root –p pass

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

    Нам остается ее запустить и наслаждаться работой с базой
    PS Ну вот собственно и все! Статья получилось маленькой, но я все же надеюсь, что она кому то будет полена =)

    Программирование в Cmd введение для новичков

    Это всего лишь введение в команды cmd, не судите строго, статья писалась для Новиков, та и многим другим я думаю пригодиться =)
    Наверно многие и не подозревают, что cmd это универсальная оболочка,
    которая позволяет не просто администрировать систему, но и программировать!
    Конечно уровень языка не столь высок, как например с , но все же.

    Для начала, напишем маленькую программку, которая будет выводить строчку, записанную в переменную.
    Заходим на диск С:\ и создаем там что то типа program_1.cmd (можно *.bat)
    открываем его блокнотом и вписываем туда следующие строки:

    rem программа_1
    cls
    @echo off
    color 0A
    set string=Hellow World.
    echo %string%

    rem — используеться для описния коментариев
    cls — если кто еще незнает, это отчистка экрана
    @echo off — выключаем отображение команд на экране. Обратите внимание на @
    перед ECHO! Она предотвращает эхо-отображения команд в отдельной строке.
    color 0A — задаем цвет фона и текста
    set string=Hellow World. — set используется для описания переменных
    echo %string% — вывод на экран переменной, обратите внимание на %%, это
    обозначает, что это действительно переменная, а не строка!

    С кодом разобрались, теперь посмотрим на исход программы! Запускаем ее на выполнение через cmd:
    program_1.cmd
    Результат выполнения будет, как вы догадались Hellow World. Ярко-зелеными буквами на черном фоне

    Теперь немножко усложним задачку, добавим в этот код условие!

    rem программа_2
    cls
    @echo off
    color 0A
    set a=1
    set timer=10
    if %a%==1 (shutdown /r -t %timer% -c «Вас похекали»
    ) else (echo a!=1)

    Я думаю вы уже догадались что будет на выводе. Мы сравниваем значение записанное в переменную “а” с 1, если условие истина, то компьютер перезагрузиться через 10 секунд, в ином случае на вывод подается надпись, что a!=1. Пример банален и прост,
    ну зато понятен для многих.

    А теперь перейдем непосредственно к циклам. Рассмотрим самый элементарный пример:
    rem программа_3
    cls
    @echo off
    color 0A
    for /l %B in (0,1,10) do echo %B

    данная программа выведет в столбик цифры, от 0 до 10 с шагом 1 =) все просто, как .
    А теперь немного сложнее, for может использоваться в более весомых целях,
    например для перебора файлов, для примера можете написать в cmd:

    for %B in (C:*.cmd) do (echo %B)

    В ответ вы получите все ваши программки с расширением *.cmd

    Также циклом for можно перебрать каталоги, к примеру

    for /d %B in (C:*) do echo %B

    Покажет все каталоги на диске С:\ (Обратите внимание, только каталоги, а не подкоталоги!)

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

    (for /f «tokens=1-5» %A in (users.txt) do @echo %D) > emails.txt

    К примеру, база у нас «идеальная», типа:

    Vasya Pupkin heck 111@mail.ru 81231111111
    Dima Ivanov lamer 222@mail.ru 81232222222
    Genya Petrov lamer 333@mail.ru 81233333333
    Egor Sidorov lamer 444@mail.ru 81234444444
    Anton Popovich lamer 555@mail.ru 81235555555
    Kostya Terentev lamer 666@mail.ru 81236666666
    Vanya Onisenko lamer 777@mail.ru 81237777777
    Misha Loshenko lamer 888@mail.ru 81238888888
    Vlad Sorochinskiy lamer 999@mail.ru 81239999999

    Мы с помощью цикла перебираем все слова, и записываем 4(%D) в файл emails.txt =)

    Что же еще можно сделать с cmd?

    Опишу свой пример. Я занимаюсь созданием веб-сайтов, которые используют базу данных mysql. С базой я работаю через консоль, для меня привычнее. Что б не париться я написал небольшую программку mysql.cmd которая к ней будет подключаться:

    PHP код:
    v:
    cd usrlocalmysql4bin
    mysql.exe -u root –p pass

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

    Нам остается ее запустить и наслаждаться работой с базой
    PS Ну вот собственно и все! Статья получилось маленькой, но я все же надеюсь, что она кому то будет полена =)»>

    Как установить инструменты командной строки для разработчиков через терминал [Инструкция]

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

    Изначально в OS X есть ряд общих команд. Но среди них нет тех, которые могут пригодиться для компиляции и проверки кода при разработке приложений. Эту проблему можно решить, установив Xcode. Однако полный пакет нужен не всем разработчикам, поэтому некоторые решают установить инструменты командной строки отдельно.

    Как это сделать мы и расскажем в этой небольшой инструкции:

    1. Откройте терминал. Его можно найти в папке «Утилиты».

    2. Введите следующую команду: xcode-select —install

    3. Подтвердите установку инструментов командной строки для разработчиков.

    4. Дождитесь окончания процесса установки (система автоматически скачает около 130 Мб).

    5. После окончания установки можно использовать одну из новых команд. Например, gcc, git, svn или rebase.

    После установки, инструменты для разработчиков будут размещены по адресу Macintosh HD/Библиотеки/Developer/CommandLineTools/.

    Мастер Йода рекомендует:  Баг в таблице
    Добавить комментарий