В командной строке сообщения идут в виде текста. Текст на входе команды и текст на выходе команды. Мы вводим команду, она выводит на экран свой ответ в виде нескольких строчек текста. Вроде бы все понятно и очевидно.
Оказывается, можно взять текстовое сообщение одной команды и подать его на вход другой команды. Так можно построить конвейер – это цепочка команд. Между командами ставят вертикальную черту |. Есть такой символ на клавиатуре, обычно в английской раскладке.
Наш первый пример: команда DIR выводит список каталогов, команда SORT проводит сортировку списка. Каждую команду мы вызываем с дополнительными параметрами. Между командами поставлена вертикальная черта.
Здесь происходит передача и обработка нескольких строк текста.
Рис. Первый конвейер
Задание. С помощью чат-бота составьте несложные задания для организации конвейера в командной строке windows и получите решения в виде пакетных файлов с подробным описанием. Убедитесь в их работоспособности.
В этом разделе мы поработали с пакетными файлами для традиционной командной строки Windows. Считается, что это наследие предыдущей операционной системы DOS, что оно устарело и что его скоро отключат. Но пока оно работает, мы можем его использовать – с пользой для себя и для других.
К тому же, освоение файлов BAT/CMD – это хороший первый шаг в освоении скриптов. Во многих случаях, при объяснении современных скриптовых языков на эти технологии ссылаются, как на что-то общеизвестное. Так что владение этим инструментом будет полезно во всех отношениях.
Слышно, как скрипит
пёрышко слегка,
и ложатся строчки
на листок.
(музыка С. Туликова,
слова М. Пляцковского)
Следующий пример языка сценариев – VBScript. Полное название: Microsoft Visual Basic Scripting Edition – выпуск языка программирования Visual Basic для создания скриптов. Можно также говорить Visual Basic Script.
Cкрипты *.VBS можно запускать точно так же, как и пакетные файлы *.BAT – из командной строки и из Проводника.
Задание. Просмотрите в Википедии статью VBScript. Выясните, для каких ОС и для каких задач предназначен данный язык.
Скриптовый язык VBScript построен на основе полноценного языка программирования Visual Basic. Красивое слово Visual использовано в названиях нескольких реализаций языков программирования от Microsoft: Visual Basic, Visual C и др. По-видимому, таким способом нам намекают на визуальные возможности разработки программного обеспечения – рисование окошек на экране вместо ручного программирования. Корпорация Microsoft предлагает интегрированную среду разработки Visual Studio – здесь в названии тоже присутствует это слово.
Задание. Выясните, в названиях каких продуктов MIcrosoft использовано слово Visual.
Задание. Просмотрите в Википедии статью VBScript. Выясните, для каких ОС и для каких задач предназначен данный язык.
Программу на языке VBScript можно создать в обычном Блокноте и сохранить в виде текстового файла с расширением. vbs.
Наша первая программа выводит на экран традиционное приветствие.
Для вывода сообщения используем функцию MsgBox – Message Box. Насчет Message
всё понятно, это «сообщение», то есть текст, который печатают на экране. А вот слово Box – это не «коробка», как учили в школе, а «окно». Другими словами, это прямоугольная область на экране, куда что-то выводят.
Текст программы простой и короткий:
MsgBox «Hello, World!»
Строка для вывода записана в кавычках и через пробел от названия функции – без скобок.
Сохраняем как hello. vbs. Дважды щелкаем мышью на нашем файле и запускаем программу.
На экране появляется диалоговое окно с сообщением «Hello, World!». Нажимаем кнопку ОК, и окно закрывается.
Наша программа работает в графическом интерфейсе Windows и использует готовые инструменты ОС для создания прикладных программ. В нашем примере это окно, сообщение и кнопка. Также здесь имеется кнопка закрытия окна Close.
Рис. Выводим приветствие
Обратим внимание на иконку. На картинке изображен длинный бумажный свиток. Этот свиток постепенно раскручивают, и на нём просматриваются строки текста. Такая иконка визуально передает нам идею «сценария работы».
Задание. Создайте свою программу с использованием MsgBox и выведите на экран свое собственное сообщение.
Следующая функция InputBox – это средство для ввода текста.
Мы спросим пользователя, как его зовут, и выведем персональное приветствие.
name = InputBox («Please enter your name:»)
MsgBox «Hello, " & name &»!»
В первой строке программы мы запрашиваем имя пользователя.
Записываем полученное имя в переменную name.
Затем во второй строке мы выводим персональный «привет».
Для этого мы объединяем строки (приветствие + имя + восклицательный знак) с помощью символа & – «амперсанд».
Полученную строку выводим на экран.
Рис. Программа с окном ввода
Задание. Просмотрите в Википедии статью Амперсанд и выясните его значение и происхождение.
Сохраняем скрипт как name. vbs. Запускаем на выполнение, вводим имя и получаем персональный привет.
Рис. Вводим имя
Вроде бы всё просто. Но при вводе русского текста в английской версии Windows могут возникнуть проблемы.
Рис. Проблемы локализации
Задание. Составьте свой скрипт по приведенному выше примеру. Проверьте, как он работает при выводе русских букв.
Возможно, вам повезет. Но на нашем компьютере пришлось повозиться и поискать решение проблемы локализации, региональных настроек и кодовых страниц. Работающее решение оказалось простым. Начинаем сохранять файл и выбираем кодировку ANSI вместо UTF-8, которая у нас была по умолчанию.
Рис. Говорите по-русски…
Задание. Сохраните свой скрипт в разных кодировках и проверьте его реакцию на русские буквы.
Мы познакомились с функцией MsgBox и посмотрели, как работает вывод текста в окне. У этой функции есть много дополнительных возможностей – и для украшательства, и для дела. Подробное описание функции можно найти на страничке разработчиков – у корпорации Microsoft.
На рисунке приводится пример того, что можно найти через Google, Yandex или просто через поиск на сайте компании. Адрес странички:
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/msgbox-function
Рис. Описание функции MsgBox
В описании указан один обязательный аргумент prompt – сообщение для вывода на экран. Вообще-то слово prompt переводится как «приглашение к действию» или «подсказка». Мы с этим словом сталкиваемся, когда составляем запрос к нейросети. Еще это слово означает «приглашение к вводу команд» в командной строке ОС. И вот теперь это означает «сообщение на экране». Интересно, почему?
О проекте
О подписке