Школа инженера. Применение скриптов в задачах внедрения и ТП. Часть 1. CMD

Содержание

Слайд 2

Зачем вообще скрипты?

Массовые действия

Своевременные оповещения

Освобождение от рутины

Зачем вообще скрипты? Массовые действия Своевременные оповещения Освобождение от рутины

Слайд 3

Что такое батник?

Чем редактировать?

Типичное содержание батника

(пакетный файл):
Содержит команды интерпретатора
Имеет расширение .cmd .bat

Блокнот
Notepad++

любые

Что такое батник? Чем редактировать? Типичное содержание батника (пакетный файл): Содержит команды
команды, которые могут быть выполнены из командной строки

Слайд 4

- Задаёт заголовок окна

- Создает пустую строку

- Запускает приложение или установочный процесс

-

- Задаёт заголовок окна - Создает пустую строку - Запускает приложение или
Закрывает командную строку

- Приостанавливает выполнение командного файла

Слайд 5

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

- Запускает

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

- перенаправили вывод стандартной фразы паузы в никуда

Слайд 6

- Очищает экран

- комментарий

- комментарий

- Всплывающее сообщение (* - для всех пользователей)

- Очищает экран - комментарий - комментарий - Всплывающее сообщение (* - для всех пользователей)

Слайд 7

- Вывод результата команды во внешний файл

- Сообщение закроется само через 2

- Вывод результата команды во внешний файл - Сообщение закроется само через 2 секунды
секунды

Слайд 8

- Создание папки или дерева папок

- Экранирование служебного символа “>” с помощью

- Создание папки или дерева папок - Экранирование служебного символа “>” с
символа “^”

- Переименование файла

- Перемещение файлов

- Копирование файлов

Слайд 9

Задание 1. (на выполнение 5 минут)
Удалить файл log2.log
Удалить папку C:\DDSchool_cmd\test10 со всем

Задание 1. (на выполнение 5 минут) Удалить файл log2.log Удалить папку C:\DDSchool_cmd\test10 со всем содержимым
содержимым

Слайд 10

Ответ:

Ответ:

Слайд 11

%имя_переменной%

%имя_переменной%

Слайд 12

- Строковая переменная

- Числовая переменная

- Строковая переменная - Числовая переменная

Слайд 13

%имя_переменной:~[первый знак],длина%

- Запрос значения у пользователя

- Первый символ

- Последний символ

%имя_переменной:~[первый знак],длина% - Запрос значения у пользователя - Первый символ - Последний символ

Слайд 14

Задание 2. (на выполнение 5 минут)
Запросить значение переменной у пользователя;
Заменить все 1

Задание 2. (на выполнение 5 минут) Запросить значение переменной у пользователя; Заменить
на 0;
Вывести результат без последнего символа.

Слайд 15

Ответ:

Ответ:

Слайд 16

Задание 3. (на выполнение 5 минут)
Вывести с помощью батника сообщение (на 2

Задание 3. (на выполнение 5 минут) Вывести с помощью батника сообщение (на
минуты), содержащее архитектуру вашего процессора.

Слайд 17

Ответ:

Ответ:

Слайд 18

IF условие действие
Или
  IF условие (
действие1

действие n )
Или
  IF условие (
действие1

действие n ) ELSE (
действие1

действие

IF условие действие Или IF условие ( действие1 … действие n )
n )

Слайд 19

- условия

- действия, если условие выполняется

- условия - действия, если условие выполняется

Слайд 20

- условие

- Действия, если условие выполняется

- Действия, если условие НЕ выполняется

- условие - Действия, если условие выполняется - Действия, если условие НЕ выполняется

Слайд 21

- маркер

- Перейти к маркеру

- маркер - Перейти к маркеру

Слайд 25

- Изменение кодовой страницы

- Задание переменных

- Возврат кодовой страницы

866

1251

866

- Изменение кодовой страницы - Задание переменных - Возврат кодовой страницы 866 1251 866

Слайд 26

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

- НЕ.

- Сравнение числовых переменных

- Проверка существования

- Проверка существования папки или файла - НЕ. - Сравнение числовых переменных - Проверка существования переменной
переменной

Слайд 27

Операторы сравнения числовых значений:
EQL - равно
NEQ - не равно
LSS – меньше
LEQ -

Операторы сравнения числовых значений: EQL - равно NEQ - не равно LSS
меньше или равно
GTR – больше – его мы и использовали
GEQ - больше или равно

Слайд 28

Задание 4. (на выполнение 5 минут)
Попросить пользователя ввести слово или текст.
Если текст

Задание 4. (на выполнение 5 минут) Попросить пользователя ввести слово или текст.
начинается с буквы «n», то вывести сообщение на 1 минуту «First letter is n»
Если текст начинается с другой буквы, то закончить выполнение»

Слайд 29

Задание 5. (на выполнение 5 минут)
Попросить пользователя ввести слово или текст (на

Задание 5. (на выполнение 5 минут) Попросить пользователя ввести слово или текст
русском).
Если текст начинается с буквы «н», то вывести сообщение на 1 минуту «Первая буква н»
Если текст начинается с другой буквы, то закончить выполнение»

Слайд 30

Задание 6. (на выполнение 15 минут)
1. Попросить пользователя ввести число (по-русски).
Если

Задание 6. (на выполнение 15 минут) 1. Попросить пользователя ввести число (по-русски).
число отрицательное, то вывести удвоенное число.
Если число положительное, то вывести само число.
2. После вывода информации запросить у пользователя дальнейшие действия:
Выход – завершение выполнения,
Ещё – возврат к вводу числа,
если что-то другое – возврат к запросу следующего действия

Слайд 31

Ответ:

Ответ:

Слайд 32

- Выход из cmd

- Завершение работы текущего сценария

- Выход из cmd - Завершение работы текущего сценария

Слайд 33

- Выход с кодом 1 (уровень ошибки)

- Выход с кодом 2

- Выход с кодом 1 (уровень ошибки) - Выход с кодом 2

Слайд 35

Задание 7. (на выполнение 5 минут)
Проверить, существует ли папка (любой путь).
Если папка

Задание 7. (на выполнение 5 минут) Проверить, существует ли папка (любой путь).
существует, завершить сценарий с кодом 1
Если папка не существует завершить сценарий с кодом 2

Слайд 36

- Вызов подсценария с меткой :checkfolder

- Метка и начало подсценария

- Проверка уровня

- Вызов подсценария с меткой :checkfolder - Метка и начало подсценария -
ошибки (кода выхода)

- Выход из подсценария с уровнем ошибки 10

Слайд 37

- Вызов подсценария с параметром

- Использование параметра в подсценарии

- Вызов подсценария с параметром - Использование параметра в подсценарии

Слайд 38

Задание 8. (на выполнение 5 минут)
Вынести теперь копирование в другую процедуру. В

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

Слайд 39

Ответ:

Ответ:

Слайд 40

For %переменная in (набор) do (действия)

For %переменная in (набор) do (действия)

Слайд 42

- Набор – строки файла Computers.lst. Каждая строка – элемент набора и

- Набор – строки файла Computers.lst. Каждая строка – элемент набора и
шаг цикла. %%i=элементу набора

- Элемент набора

Слайд 43

Задание 9. (на выполнение 5 минут)
Если компьютер находится в списке Computers.lst, то

Задание 9. (на выполнение 5 минут) Если компьютер находится в списке Computers.lst,
выводить сообщение “Продолжаем выполнение” и завершать сценарий с кодом 0. Если компьютера в списке нет, то просто завершать выполнение сценария с кодом 1

Слайд 44

Ответ:

Ответ:

Слайд 45

eol=c - знак начала комментария в конце строки (допускается задание только одного

eol=c - знак начала комментария в конце строки (допускается задание только одного
знака).
skip=n - число пропускаемых при обработке строк в начале набора.
delims=xxx - набор разделителей вместо используемых по умолчанию.
tokens=x,y,m-n - номера подстрок из каждой строки.

Слайд 46

- Добавляем в файл комментарий через пробел и знак #

- Всё, что

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

Слайд 47

1 2 3

- 1. Разбиваем элемент на составные части, разделённые знаком ;

-

1 2 3 - 1. Разбиваем элемент на составные части, разделённые знаком
2. Считываем только 2-й подэлемент. %%i=2-й подэлемент.

Слайд 48

1. считываем 2 подэлемента (подстроки):
2-ю и 3-ю.
%%i = 2 подстроке
%%j = 3

1. считываем 2 подэлемента (подстроки): 2-ю и 3-ю. %%i = 2 подстроке %%j = 3 подстроке
подстроке