Файл: Интерпретатор командной строки ос ms windows. Часть Язык интерпретатора и командные файлы.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 5

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




Министерство науки и высшего образования Российской Федерации

Муромский институт (филиал)

Федерального государственного бюджетного образовательного учреждения высшего образования

«Владимирский государственный университет
имени Александра Григорьевича и Николая Григорьевича Столетовых»

Факультет ИТР  

Кафедра ПИн  

ЛАБОРАТОРНАЯ

РАБОТА №2


По дисциплине «Операционные системы»

Тема Интерпретатор командной строки ОС MS Windows. Часть 2. Язык

интерпретатора и командные файлы




Руководитель:

Астафьев А. В.

(фамилия, инициалы)



(подпись) (дата)
Студент ПИнз - 120  

(группа)

Коноплев М. С.

(фамилия, инициалы)

(подпись) (дата)
Муром 2022
Лабораторная работа №2
Тема: Интерпретатор командной строки ОС MS Windows. Часть 2. Язык интерпретатора и командные файлы

Цель работы: знакомство с языком интерпретатора командной строки
ОС MS Windows и командными файлами

Задание:
1. Ознакомиться с теоретической частью.
2. Повторить практические примеры и прокомментировать каждую строку кода так, чтобы было ясно что она делает. Ответить на вопросы: что принимает как входные параметры, что является результатом. Каждый пример оформить отдельным пакетным файлом *.bat.
3. Реализовать пакетный файл (*.bat) согласно задания из таблицы заданий.
4. Реализовать приложение, позволяющее выбрать пакетный файл и запустить его на исполнение на языке высокого уровня.
Выполнение работы:

Задание 2
Пример 1

Здесь и далее создавать bat-файлы мы будем в блокноте и при сохранении расширение указывать «*bat». Запишем в файл deltmp.bat следующие команды:

C:\
CD %TEMP%

DEL /F *.tmp
Запустим его на выполнение. Тем самым мы удалим все файлы во временной директории Windows.

bat-файл:

Результат выполнения:

Пример 2:

Bat-файл:

REM Следующие две команды будут дублироваться на экране ...

:: эта строка – такой же комментарий, как и предыдущая

DIR C:\

ECHO OFF

:: А остальные уже не будут

DIR D:\

PAUSE
Результат выполнения:

Пример 3

Bat-файл:

ECHO ON

:: Команда DIR C:\ дублируется на экране

DIR C:\

:: А команда DIR D:\ — нет

@DIR D:\

Pause

Результат выполнения:

Пример 4

Bat-файл:

::Если в самом начале написать "@ECHO OFF", то дублироваться не будут

::все команды

@ECHO OFF

:: С помощью команды «ECHO» выведем сообщение на экран

ECHO Привет!

PAUSE

Результат выполнения:

Пример 5

Bat-файл:

:: Команда ECHO. (точка должна следовать непосредственно за словом
::"ECHO") выводит на экран пустую строку. Например:
@ECHO OFF
ECHO Привет!

ECHO.
ECHO Пока!

PAUSE
Результат выполнения:

Пример 6

Bat-файл:

@ECHO OFF

:: Используя механизм перенаправления ввода/вывода ::(символы > и >>), можно направить сообщения, ::выводимые командой ECHO, в определенный ::текстовый файл
ECHO Привет! > hi.txt
ECHO Пока! >> hi.txt

PAUSE
Результат выполнения:


Пример 7

Bat-файл:

::С помощью такого метода можно, скажем, заполнять файлы-протоколы с ::отчетом о произведенных действиях. Например:
@ECHO OFF
REM Попытка копирования
XCOPY D:\ Инст_5_семестр D:\PROGRAMS /s
:: Добавление сообщения в файл report.txt в случае ::удачного завершения копирования
IF NOT ERRORLEVEL 1 ECHO Успешное копирование >> report.txt

PAUSE

Результат выполнения:


Пример 8

Bat-файл:

@ECHO OFF

::Очистим экран

CLS

ECHO Файл %0 копирует каталог %1 в %2

XCOPY %1 %2 /S

PAUSE

Результат выполнения:



Пример 9

Bat-файл:

@ECHO OFF
CLS
:: Создание переменной MyVar
SET MyVar=Привет
:: Изменение переменной
SET MyVar=%MyVar%
ECHO Значение переменной MyVar: %MyVar%
:: Удаление переменной MyVar
SET MyVar=
ECHO Значение переменной WinDir: %WinDir%

PAUSE
Результат выполнения:


Пример 10

Bat-файл:

@ECHO OFF

:: Создадим переменную А, и поместим в нее значение "Раз"

SET A=Раз

:: Создадим переменную В, и поместим в нее значение "Два"
SET B=Два

:: Создадим переменную С, соединим переменные А и В, и поместим в нее :: значение в С
SET C=%A%%B%

:: Выведем на экран значения всех переменных

ECHO %A%

ECHO %B%

ECHO %C%

PAUSE
Результат выполнения:

Пример 11

Bat-файл:

@ECHO OFF

SET A=Раз
SET B=Два

:: Не следует при соединении строк использовать знак "+", иначе он

:: воспримется в качестве символа
SET C=A+B
ECHO Переменная C=%C%
SET D=%A%+%B%
ECHO Переменная D=%D%
PAUSE
Результат выполнения:



Пример 12

Bat-файл:

@ECHO OFF
:: В переменной M будет храниться сумма. Ключ /А позволяет

:: рассмотреть значения переменных, как числа
SET /A M=%1+%2
ECHO Сумма %1 и %2 равна %M%
:: Удалим переменную M
SET M=

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

Пример 13

Bat-файл:

@ECHO OFF

:: Для ввода значения переменной М с клавиатуры используем ключ /Р

:: Также в квадратных скобках выведем подсказку

SET /P M=[введите M]

:: Выведем на экран значение переменной М

ECHO Результат: %M%

PAUSE

Результат выполнения:

Пример 14

Bat-файл:

@ECHO OFF

COPY %1 %2

GOTO Label1

ECHO Эта строка никогда не выполнится

:Label1:: Продолжение выполнения

DIR %2

::После того, как в этом файле мы доходим до команды GOTO Label1

:: его выполнение продолжается со строки "Продолжение выполнения"

PAUSE
Результат выполнения:


Пример 15

Bat-файл:

@ECHO OFF

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

:: В скобках укажем сначала: «если условие в переданном пользователем параметре 1 верно, то выведется 1-й параметре»; а затем: «иначе выведется на экран параметр, указанный пользователем в условии 2»
if %1 GTR %2 (echo %1 ) else (echo %2)

PAUSE

Результат выполнения:

Пример 16

Bat-файл:

@ECHO OFF

:: если параметр 1 идентичен параметру 2, то выведем соответствующее ::сообщение


IF %1==%2 ECHO Параметры совпадают!

:: если в параметре 1 имеется значение «windows», то выведем ::соответствующее сообщение
IF %1==windows ECHO значение первого параметра – windows

PAUSE

Результат выполнения:


Пример 17

Bat-файл:

@ECHO OFF

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

:: один, как в командной строке

:: Присвоим переменной i значение и выведем его на экран

FOR %%i IN (Раз, Два, Три) DO ECHO %%i
PAUSE
Результат выполнения:

Задание 3.

Реализуем пакетный файл *bat согласно задания и сохраним его в корень диска D. Вычислить значение функции f(x). Значения x и C вводятся пользователем с клавиатуры.
???? + ????3, если ???? > 0

????(????) = 5, если ???? = 0
77 ∗ ???? + (???? ∗ ????)2 + ???? иначе

Bat-файл:

@ECHO OFF

:: Для ввода значения переменной с клавиатуры используем ключ /Р

:: Также в квадратных скобках выведем подсказку

SET /P X=[введите значение X]

:: Выведем на экран значение переменной

ECHO X = %X%

SET /P C=[введите значение C]

ECHO C = %C%

:: Пропишем логику с помощью оператора if…else

IF %X% GTR 0 (SET /A F = x*x*x+x) ELSE (SET /A F = 77 * x + "(x * C)^2" + C)

IF %X% EQU 0 SET /A F = 5 ELSE (SET /A F = 77 * x + "(x * C)^2" + C)

ECHO F(x) = %F%

PAUSE
Задание 4

Создадим приложение Windows Forms. В форму поместим из панели элементов кнопку button и диалоговое окно OpenFileDialog. Кнопку назовем «Выберите файл для выполнения». Подключим библиотека System.Diagnostics для использования класса Process. Создадим экземпляр класса Process для того, чтобы инициировать выполнение нового процесса, включающего наш пакетный файл. В обработчике событий кнопки пропишем соответствующий код:

Process myProcess = new Process();

//открывает диалоговое окно:

openFileDialog1.ShowDialog();

//позволяет выбрать файл в диалю окне:

myProcess.StartInfo.FileName = openFileDialog1.FileName;

//позволяет запустить выбранный файл

myProcess.Start();

Запустим программу: