“Введение в информационные технологии”

advertisement
«Введение в информационные технологии»
Семинар №10
Тема: «Командный интерпретатор cmd»
План занятия
Командный интерпретатор cmd
1.
2.
3.
4.
5.
6.
Запуск и выход из интерпретатора
Исполняемые файлы command.com и cmd.exe
Команда и код завершения
Символ разделения команд &
Группировка команд (&&, ||)
Список команд, команда справки help
Потоки ввода-вывода
1.
2.
3.
4.
5.
6.
Вывод данных на экран, экранирование символов (^)
Конвейер команд (|)
Потоки ввода/вывода
Перенаправление потоков (>, >>)
Специальное устройство nul
Чтение данных c клавиатуры (set /P)
Сценарий cmd
1.
2.
3.
4.
5.
6.
7.
Файл сценария cmd и bat
Комментарий rem
Запуск сценария
Запуск программ в новом окне (start)
Вызов внешнего сценария (call)
Передача параметров сценарию в аргументах командной строки
Подавление вывода команд @ и @echo off
Переменные
1.
2.
3.
4.
5.
6.
Объявление переменных (set)
Подстановка переменных (%%)
Отсутствие типизации переменных
Специальные переменные (%1..%9, %*)
Переменные окружения
Специальные переменные %CD%, %DATE%, %TIME%, %RANDOM% %PATH%
Операции
1. Команды set, set /A , set /P
2. Справка помощи help set
3. Арифметические операции +, -, *, /, %
Проверка условий
1. Конструкция if/else. Пример:
if "%P%" EQU "0" (
1
echo equals to 0
) else if %P% LSS 0 (
echo lesser than 0
) else (
echo greater than 0
)
2. Сравнение переменных (==, EQU, NEQ, LSS, LEQ, GTR, GEQ)
3. Проверка файлов (EXIST)
Циклы и ветвления
1. Оператор цикла for
FOR %variable IN (set) DO command [command-parameters]
FOR /L %variable IN (start,step,end) DO command [command-parameters]
2. Оператор завершения выполнения exit
3. Метки (:), оператор перехода goto.
Пример:
@echo off
if "%1" EQU "" goto usage
echo параметр1: %1
goto end
:usage
echo Нет первого параметра
exit 1
:end
Задания
1. Выполнить по порядку и проанализировать все команды приведенные ниже в
примерах
2. Скрипт hello.bat
Программа запрашивает и считывает с консоли имя, затем выводит на экран
строку приветствия.
3. Скрипт power.cmd
Программа для подсчета степени целого числа. Входные данные (число и степень)
передаются в аргументах командной строки, результат возведения выводится на
экран. Если степень или число не заданы, выводить справочную информацию.
Цикл для подсчета степени организовать с помощью оператора перехода goto.
4. Игра “угадай число” guess.cmd
В начале игры программа загадывает случайное число в пределах от 1 до 100.
Задача игрока - отгадать это число с 8 попыток. После каждой попытки программа
подсказывает больше загаданное число или меньше предполагаемого.
5. Все программы должны быть запакованы в архив seminar10.zip (или rar) и высланы
преподавателю
Примеры команд
cmd
help
help echo
echo Hello
echo Hello > nul
echo Hello ^> null
echo.
2
echo Hello & echo. & echo World
set /P name="You name: " & echo Hello, %name%
echo current directory: %CD%
echo "%DATE% %TIME%"
set /A %RANDOM%%100
set /A (5+2-3)/2*5
for /L %i in (0,1,10) do @echo %i
dir
for /L %i in (50,-1,0) do @echo %i >> test.txt
type test.txt | more
type test.txt | sort | more
dir /w
echo Test Message > test.txt
type test.txt
dir /b
dir /b | find "test.txt"
for %f in (*.txt) do echo %f
for %f in (*.txt) do (echo File %f: & type %f)
findstr "^T.*t" *
del test.txt
exit
3
Download