ЗНАЕТЕ ЛИ ВЫ?

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



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

Хід роботи

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

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

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

 

Приклади:

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

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

 

@echo off

SetLocal

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

echo "Result = %result%"

pause

EndLocal

 

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

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

 

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

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

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

 

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

Параметр %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

 

 

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

 

@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

 

 

6. Копіювання або переміщення файлів з заданим розширенням:

@echo off

SetLocal

echo .

echo .

echo Vuberit dijy:

echo 1 - kopijyvatu fajlu

echo 2 - peremistutu fajlu

echo 3 - vuvestu na ekran nazvu fajliv

echo .

 

set /p choice=Make choice:

echo .

set /p ext=Vvedit tup fajliv (rozwurennia):

 

if not exist C:\temp mkdir C:\temp

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

if "%choice%" == "1" (

copy %%i C:\temp

)

if "%choice%" == "2" (

move %%i C:\temp

)

if "%choice%" == "3" (

echo %%i

)

)

pause

EndLocal

 

Результат роботи:

Перевірка за допомогою команди dir C:\temp. В папку скопійовано усі dll-файли:

Варіанти завдань

Варіант 1.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= a-10*b+c/2

 

2. Для всіх файлів з розширенням “.doc” що знаходяться в папці C:\projects встановити атрибут “архівний”.

 

3. Перемістити усі файли “*.exe” з папки main1 в папку documents, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 - запустити paint (команда mspaint)

2 - запустити word (знайти шлях до ехе-файлу)

3 - запустити notepad (команда notepad)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

S – присвоїти всім файлам атрибут системний

A – присвоїти всім файлам атрибут архівний

R – присвоїти всім файлам атрибут тільки для читання

H – присвоїти всім файлам атрибут прихований

 

Встановити вибраний користувачем атрибут для всіх файлів типу “txt”.

 

Варіант 2.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= a*b-120*c

 

2. Для всіх файлів з розширенням “.txt” що знаходяться в папці C:\main встановити атрибут “тільки для читання”.

 

3. Перемістити усі файли “*.cmd” з папки files в папку bin, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 – вивести дерево папок

2 – вивести вміст папки

3 – вивести поточну дату ( команда date /T)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

1 – копіювати файли

2 – вивести на екран імена файлів

3 – знищити файли (команда del %%i)

Виконати вибрану користувачем дію.

 

Варіант 3.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= (11*a+b+c)*15

 

2. Для всіх файлів з розширенням “.doc” що знаходяться в папці C:\projects зняти атрибут “архівний”.

 

3. Перемістити усі файли “*.txt” з папки open в папку secret, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 – запустити paint (mspaint)

2 – вивести поточну дату ( команда date /T)

3 – вивести поточний час ( команда time /T)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

S – присвоїти всім файлам атрибут системний

A – присвоїти всім файлам атрибут архівний

R – присвоїти всім файлам атрибут тільки для читання

H – присвоїти всім файлам атрибут прихований

 

Зняти вибраний користувачем атрибут для всіх файлів типу “dat”.

 

Варіант 4.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= 5*a*(8*b-c)

 

2. Для всіх файлів з розширенням “.dll” що знаходяться в папці C:\programs встановити атрибут “прихований”.

 

3. Перемістити усі файли “*.xls” з папки files в папку tables, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 - запустити Блокнот (notepad)

2 - запустити word (знайти шлях до ехе-файлу)

3 - запустити excel (знайти шлях до ехе-файлу)

 

та виконує команди відповідно до вибору користувача.

 

 

5. Написати командний файл, який виводить наступне меню:

1 – створити папку

2 – знищити папку

3 – вивести вміст папки на екран

Виконати вибрану користувачем дію.

 

Варіант 5.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= (a-b)/5+12*c

 

2. Для всіх файлів з розширенням “.doc” що знаходяться в папці C:\mydocs встановити атрибут “тільки для читання”.

 

3. Перемістити усі файли “*.txt” з папки old в папку new, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 – вивести поточну дату (команда date /T)

2 – вивести поточний час (команда time /T)

3 – змінити поточну дату (команда date)

4 – змінити поточний час (команда time)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

S – присвоїти всім файлам атрибут системний

A – присвоїти всім файлам атрибут архівний

R – присвоїти всім файлам атрибут тільки для читання

H – присвоїти всім файлам атрибут прихований

 

Зняти вибраний користувачем атрибут для всіх файлів типу “dat”.

 

Варіант 6.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= 8*a+b+150*c

 

2. Для всіх файлів з розширенням “.exe” що знаходяться в папці C:\found встановити атрибут “системний”.

 

3. Перемістити усі файли “*.doc” з папки main1 в папку main2, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 – вивести вміст папки C:\Documents and Settings

2 – запустити word (знайти шлях до ехе-файлу)

3 – вивести поточну дату (команда date /T)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

1 – створити файл (copy con ім’я_файлу)

2 – відкрити файл C:\main\1.txt

3 – запустити Блокнот (notepad)

 

Виконати вибрану користувачем дію.

 

Варіант 7.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= 122*a-123*b+124*c

 

2. Для всіх файлів з розширенням “.dll” що знаходяться в папці C:\projects встановити атрибут “архівний”.

 

3. Перемістити усі файли “*.exe” з папки first в папку second, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 - запустити paint (mspaint)

2 - запустити notepad (notepad)

3 - запустити excel (знайти шлях до ехе-файлу)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

S – присвоїти всім файлам атрибут системний

A – присвоїти всім файлам атрибут архівний

R – присвоїти всім файлам атрибут тільки для читання

H – присвоїти всім файлам атрибут прихований

 

Встановити вибраний користувачем атрибут для всіх файлів типу “cmd”.

 

Варіант 8.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= (2*a-10*b)*c

 

2. Для всіх файлів з розширенням “.doc” що знаходяться в папці C:\desk встановити атрибут “тільки для читання”.

 

3. Перемістити усі файли “*.doc” з папки bin в папку src, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 - запустити notepad (notepad)

2 - запустити word (знайти шлях до ехе-файлу)

3 - вивести дерево папок

4 - вивести вміст поточної папки

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

1 – перемістити файли

2 – вивести на екран імена файлів

3 – знищити файли (команда del %%i)

Виконати вибрану користувачем дію.

 

Варіант 9.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= 15*a+10*b-5*с

 

2. Для всіх файлів з розширенням “.cmd” що знаходяться в папці C:\projects встановити атрибут “прихований”.

 

3. Перемістити усі файли “*.txt” з папки documents в папку lab1, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 - вивести вміст папки

2 - вивести дерево папок

3 - запустити notepad (notepad)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

S – присвоїти всім файлам атрибут системний

A – присвоїти всім файлам атрибут архівний

R – присвоїти всім файлам атрибут тільки для читання

H – присвоїти всім файлам атрибут прихований

 

Встановити вибраний користувачем атрибут для всіх файлів типу “exe”.

 

Варіант 10.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= a-10*b+40*c

 

2. Для всіх файлів з розширенням “.doc” що знаходяться в папці C:\temp встановити атрибут “архівний”.

 

3. Перемістити усі файли “*.exe” з папки new в папку temp, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 - запустити paint (mspaint)

2 - запустити powerpoint (знайти шлях до ехе-файлу)

3 - запустити excel (знайти шлях до ехе-файлу)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

1 – створити файл (copy con ім’я_файлу)

2 – відкрити файл C:\Documents\lab1.doc

3 – вивести дерево папок

 

Виконати вибрану користувачем дію.

 

Варіант 11.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= (11*a+b)/c

 

2. Для всіх файлів з розширенням “.xls” що знаходяться в папці C:\data встановити атрибут “прихований”.

 

3. Перемістити усі файли “*.doc” з папки secret в папку shared, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

A - запустити word (знайти шлях до ехе-файлу)

B - вивести дерево папок

C - вивести вміст поточної папки

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

S – присвоїти всім файлам атрибут системний

A – присвоїти всім файлам атрибут архівний

R – присвоїти всім файлам атрибут тільки для читання

H – присвоїти всім файлам атрибут прихований

 

Встановити вибраний користувачем атрибут для всіх файлів типу “txt”.

 

Варіант 12.

1. Знайти значення виразу для заданих користувачем вхідних параметрів:

Y= 15*a-13*b+11*c

 

2. Для всіх файлів з розширенням “.asm” що знаходяться в папці C:\programs встановити атрибут “тільки для читання”.

 

3. Перемістити усі файли “*.txt” з папки open в папку secret, задавши шлях до папок як параметри cmd-файлу.

 

4. Написати командний файл, який виводить наступне меню:

1 – вивести дерево папок, починаючи з папки C:\Documents and Settings

2 – запустити powerpoint (знайти шлях до ехе-файлу)

3 – вивести поточний час (команда time /T)

 

та виконує команди відповідно до вибору користувача.

 

5. Написати командний файл, який виводить наступне меню:

1 – створити файл (copy con ім’я_файлу)

2 – знищити файл C:\Documents\zvit123.doc

3 – вивести вміст папки

 

Виконати вибрану користувачем дію.

 


Лабораторна робота №4





Последнее изменение этой страницы: 2016-07-11; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.153.39.7 (0.029 с.)