Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС ЛАБОРАТОРНІ РОБОТИ.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
3 Мб
Скачать
☆

Лабораторна робота №3 Тема: «Передача параметрів у командні файли»

Мета: навчитись передавати параметри у cmd-файл, встановлювати атрибути файлів.

Хід роботи

Для випадків, коли потрібно надати користувачеві право задати параметри чи здійснити вибір варіанту подальшого виконання програми використовується передача параметрів у командний файл.

Передача параметрів у cmd-файл здійснюється шляхом перерахування параметрів після імені файлу при його виклику. В самому файлі для позначення першого параметра використовується символ %1, другого - %2 і так далі до 9.

Другим варіантом є створення меню для запиту подальших дій у користувача.

Приклади:

1. Обчислення значення виразу для заданих користувачем вхідних значень.

- створити текстовий документ, набрати наступний код:

@echo off

SetLocal

set /a result=(%1+%2+%3)/10

echo "Result = %result%"

pause

EndLocal

Команда set /a result створює змінну result, якій буде присвоєно значення виразу. В подальшому для використання цієї змінної її потрібно записувати між двома знаками %: %result%.

Команди setlocal та endlocal використовуються для того, щоб змінна result не була записана до глобальних змінних.

  • зберегти файл з розширенням cmd,

  • відкрити командну стрічку,

  • виконати файл з перерахуванням параметрів після назви:

2. Копіювання файлів, коли користувач вказує звідки копіюємо файли та куди.

Параметр %1 – шлях до папки, з якої копіюємо файли,

Параметр %2 – шлях до папки, в яку копіюємо.

@ echo off

echo "Welcome to my cmd file"

if "%*" == "" ( echo "Argumentu ne vkazano"

pause

exit

)

if not exist %2 (

mkdir %2

for /R %1 %%i in ( *.txt ) do (

echo %%i

copy %%i %2

)

) else ( echo "%2 alreаdy exists"

)

echo on

pause

3. Реалізація меню для вибору програми на виконання.

@echo off

SetLocal

echo Menu:

echo 1 - open notepad

echo 2 - open winmine

echo 3 - open calculator

set /p choice=Make choice:

if not defined choice ( echo "Wrong answer" )

if "%choice%" == "1" ( notepad )

if "%choice%" == "2" ( winmine )

if "%choice%" == "3" ( calc )

pause

EndLocal

4.1 Встановлення атрибуту “тільки для читання” для файлів типу *.doc:

@echo off

for %%i in (c:\work\*.doc) do attrib +R %%i

pause

Перевірку виконуємо за допомогою команди attrib. У другому стовпці для файлів *.doc встановлено атрибут R:

4.2 Зняття встановленого атрибуту “тільки для читання” та встановлення атрибуту “прихований” для файлів типу *.doc:

@echo off

for %%i in (c:\work\*.doc) do attrib -R +H %%i

pause

5. Встановлення атрибуту для групи файлів за вибором користувача:

@echo off

SetLocal

echo Menu:

echo R – prusvojity vsim fajlam atrubyt read-only

echo H - prusvojity vsim fajlam atrubyt hidden

echo S - prusvojity vsim fajlam atrubyt system

echo A - prusvojity vsim fajlam atrubyt archive

set /p choice=Make choice:

for /R C:\work %%i in (*.bmp) do (

if "%choice%" == "R" (

echo "read-only set to %%i"

attrib +R %%i )

if "%choice%" == "H" (

echo "hidden set to %%i"

attrib +H %%i )

if "%choice%" == "S" (

echo "system set to %%i"

attrib +S %%i )

if "%choice%" == "A" (

echo "archive set to %%i"

attrib +A %%i )

)

pause

EndLocal