Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


б) Проверка существования файла на диске.

А) Сравнение двух строк

ФОРМАТ: IF [NOT] <строка1>= =<строка2> <команда>

Заметим, что для сравнения строк здесь используется двойной знак равенства "= =".

Если <строка1> = = <строка2>, то выполняется <команда>. Здесь в качестве строки может выступать и замещаемый параметр.

Пример 5. Составим файл iftren.bat, который получает в качестве входного параметра либо символ "K", либо "P", и в зависимости от этого запускает соответствующую программу.

if '%1'= ='K' F:\WORK\KEYTREN\TRK

if {%1}= ={P} H:\LANG\TP\TURBO

if #%1#= =## echo ФОРМАТ: iftren K (или iftren P)

Вместо замещаемого параметра %1 подставляется либо "K", либо "P", либо пустая строка, если мы запустили BAT-файл без параметров. Первый IF проверяет, был ли параметр "K", и если да, то запускает программу «Клавиатурный тренажер». Второй IF проделывает то же самое для параметра "P" и программы TURBO. Третий IF проверяет, не был ли запущен BAT-файл без параметров, и если да, то выдает справку о правильном формате.

 

Задание. Создайте файл ifdir.bat, который бы в зависимости от введенного параметра командной строки ("S", "P" или "W") вызывал бы команду DIR с соответствующим параметром, а при отсутствии параметров выдавал бы напоминание о формате команды.

 

Команда IF часто используется вместе с GOTO.

Пример 6. Изменим файл iftren.bat из Примера 5, так чтобы перед запуском программы очищался экран и выводилось соответствующее сообщение:

@echo off

if '%1'= ='K' goto kt

if {%1}= ={P} goto tp

if *%1*= =** echo ФОРМАТ: iftren K (или iftren P)

goto end

:tp

cls

echo Загружаю TURBO PASCAL...

H:\LANG\TP\TURBO

goto end

:kt

cls

echo Загружаю программу TRK...

F:\WORK\KEYTREN\TRK

:end

Задание. Создайте файл iftren.bat из Примера 6 и проверьте три варианта выполнения этого командного файла.

 

б) Проверка существования файла на диске.

ФОРМАТ: IF [NOT] EXIST [<диск>][<путь>]<имя файла> <команда>

Этот вариант команды IF проверяет, имеется ли на диске файл с заданным именем и если да, то выполняется <команда>.

Пример 7. Составим файл ifexist.bat, который получает в качестве входного параметра имя файла, и если такой файл уже существует, то копирует его в файл с тем же именем, а расширением $$$. Если файл не существует, то выдается сообщение об этом:

@echo off

cls

if exist %1 goto yes

echo Такой файл не существует!

goto end

:yes

copy %1 *.$$$

:end

Задание. Создайте файл ifexist.bat из Примера 7 и проверьте два варианта выполнения этого командного файла.

 

8. Циклическая подстановка

В языке BAT-файлов нет полноценной команды для определения циклов. Однако, есть команда для циклического выполнения определенной команды для всех файлов из указанного множества.

ФОРМАТ: FOR %%<символ> IN (<список>) DO <команда>

Параметр <команда> - это любая допустимая команда DOS. В параметре <список> могут быть использованы любые имена (имена файлов или символьные строки), разделенные знаком пробела. Локальный аргумент <символ> может состоять только из одной латинской буквы. Имена из <списка> последовательно присваиваются локальному аргументу.

Примеры правильных заданий <списка>:

(*.doc)

(*.txt a*.bat *.exe)

(1 2 3 4 5 6 7)

(A B C D E F G H I J)

Пример 8. Последовательный вывод на экран содержимого всех TXT-файлов текущей директории.

@echo off

for %%f in (*.txt) do type %%f

В команду type %%f вместо %%f поочередно подставляются имена всех TXT-файлов текущего каталога.

Пример 9. Файл ABFG.bat позволяет создать четыре каталога: CAT-A, CAT-B, CAT-F, CAT-G, а также скопировать в них файлы, которые начинаются соответственно с A, B, F, G.

@echo off

for %%c in (A B F G) do md cat-%%c

for %%f in (A*.*) do copy %%f cat-A

for %%f in (b*.*) do copy %%f cat-b

for %%f in (f*.*) do copy %%f cat-f

for %%f in (g*.*) do copy %%f cat-g

Задание. Создайте командный файл ABFG.bat и проверьте его работу.

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

 

9. Вызов BAT-файла из другого BAT-файла

Из тела одного BAT-файла можно вызвать другой. Это может потребоваться, например, если нужно в команде циклической подстановки выполнить не одну, а несколько команд. Существует два способа вызова одного командного файла из другого.

а) В командном файле пишется имя вызываемого BAT-файла (с параметрами, если они есть). При этом управление передается в вызываемый BAT-файл и после достижения его конца НЕ возвращается в главный BAT-файл. Чтобы такой возврат произошел, нужно

б) Вызывать BAT-файл с помощью команды CALL:

ФОРМАТ: CALL <имя вызываемого BAT-файла> [<список параметров>]

Задание. Создайте BAT-файл с вызовом другого BAT-файла. Сначала используйте вариант вызова без, а затем с использованием команды CALL.



<== предыдущая лекция | следующая лекция ==>
Рассмотрение технологии создания простой однотабличной базы данных | Важность полесской экспедиции Луизы Арнер Бойд сегодня
Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 1161 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2489 - | 2332 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.