Rem Создание и использование переменных
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

set name=Vasya

echo %name%

В этом примере демонстрируется возможность создания переменной с именем name и присвоения ей значения Vasya. Если нужно вывести значение переменной на экран, то ее имя должно заключаться между символами %.

Для ввода данных используется конструкция set /p

файл primer3.bat

@echo off

Rem Диалог с пользователем

set /p name="Enter your name - "

echo Your name is - %name%

В этом диалоге сначала запрашивается имя пользователя, а затем оно выводится на экран.

IF – исполняет команды при выполнении условий. С помощью IF можно задавать выполнение какой-либо команды в зависимости от некоторого условия. Общий вид:

IF [NOT] условие команда

NOT – отрицает заданное условие;

Условие – может быть задано одним из следующих способов:

ERRORLEVEL Проверяет код завершения только что выполненной программы. При нормальном завершении передает код 0; при ошибочном - код ERRORLEVEL равен 1.
Цепочка_символов1==цепочка_символов2 Условие выполняется только в том случае, когда обе символьные цепочки идентичны. Как правило, Цепочка_символов1 является переменной
EXIST обозначение Условие выполняется, если заданные параметром «обозначение» файл, каталог или устройство существуют

 

С помощью условия EXIST можно проверить наличие дисководов, если указать путь доступа, например, B:\

GOTO – позволяет определять команды переходов в пакетных файлах. Переходы требуются в тех случаях, когда определенные команды должны обрабатываться только при выполнении некоторого условия. Общий вид:

GOTO метка_перехода

где метка_перехода обозначает место, в которое оператор GOTO должен передать управление.

Пример1. Пакетный файл primer1.bat

@echo off

cls

if not exist c:\temp\sozdan.bat goto f

C:

cd c:\temp

sozdan

goto end

:f

echo File not found

:end

Этот пакетный файл сначала очищает экран дисплея, затем проверяет (через команду if not exist), отсутствует ли файл с именем sozdan.bat в каталоге C:\Temp, и если это так, то передает управление на метку :f. Метки перехода обозначаются двоеточием в начале. После этого на экран дисплея выводится сообщение: “File not found!!”

При запуске пакетный файл может принимать параметры из командной строки. Параметры нумеруются символами %1, %2, %3,…%9 с обязательным разделительным пробелом. При вызове соответствующий % заменяется на параметр.

Таким образом, пакетный файл primer1.bat может быть запущен с параметром sozdan.bat, а в соответствующем месте в тексте файла нужно указать символ %1.

Пример2. Пакетный файл primer2.bat

@echo off

cls

if not exist c:\temp\%1 goto f

C:

cd c:\temp

%1

goto end

:f

echo File not found

:end

 

FOR – пакетная команда для многократного повторения какой-либо команды. Формат команды:

FOR %%переменная IN (значение) DO команда [параметры]

переменная – не может быть цифрой; используется для того, чтобы получить текущее значение и передать его дальше;

значение – может быть именем файла (с указанием пути или без него), именем каталога или символьной цепочкой. В именах файлов допустимы символы подстановки (* ИЛИ ?);

команда – команда MS-DOS, подлежащая многократному выполнению;

параметры – параметры или ключи для выполняемой команды MS-DOS.

Пример3. В каталоге C:\Temp находятся файлы if . txt , goto . txt , for . txt , rem . txt , echo . txt . Создать пакетный файл, который последовательно и постранично выведет на экран содержимое этих файлов.

Пример3. Пакетный файл primer3.bat

@echo off

cls

for %%A in (*.txt) do type %%A|more&pause

 

Rem – вводит комментарий в командном файле.

Пакет Windows NT Resourse Kit содержит другие полезные утилиты для работы с пакетными файлами.

При запуске пакетных файлов в командной строке можно указывать произвольное число параметров, значения которых можно использовать внутри файла. Это позволяет, например, применять один и тот же командный файл для выполнения команд с различными параметрами.

Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %*. При этом вместо подставляется имя выполняемого пакетного файла, вместо %0%1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то "лишние" переменные из %1%9 замещаются пустыми строками. Рассмотрим следующий пример. Пусть имеется командный файл copier.bat следующего содержания:

@ECHO OFF CLS ECHO File %0 copying directory %1 in %2 XCOPY %1 %2 /S

Если запустить его из командной строки с двумя параметрами, например

copier.bat C:\Programs D:\Backup

то на экран выведется сообщение

File copier.bat copying directory C:\Programs in D:\Backup

и произойдет копирование каталога C:\Programs со всеми его подкаталогами в D:\Backup.

При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение %2 – в %1 и т.д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9. Если же такой параметр не задан, то новое значение %9 — пустая строка.

Рассмотрим пример. Пусть командный файл my.bat вызван из командной строки следующим образом:

my.bat p1 p2 p3

Тогда %0=my.bat, %1=p1, %2=p2, %3=p3, параметры %4 – %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3, параметры %3 – %9 – пустые строки.

При включении расширенной обработки команд SHIFT поддерживает ключ /n, задающий начало сдвига параметров с номера n, где n может быть числом от 0 до 9.

Например, в следующей команде:

SHIFT /2

параметр %2 заменяется на %3, %3 на %4 и т.д., а параметры %0 и %1 остаются без изменений.

Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0), который был первым перед сдвигом. Если в командной строке задано больше десяти параметров, то команду SHIFT можно использовать несколько раз.

 

Задания на выполнение работы:

1. Создать и сохранить в совей папке учебные файлы primer 1. bat , primer 2. bat , primer 3. bat.

2. Самостоятельно создать пакетные файлы, выполняющие следующие задачи:

a. Создать в C :\ Temp пакетный файл spr . bat, который при запуске его с параметром (параметр – имя соответствующей команды) создает текстовый файл, который должен содержать справку по данной команде команде (например, при запуске spr if – в C :\ Temp должен быть создан файл if . txt, содержащий описание этой команды). Создать с помощью пакетного файла spr.bat текстовые файлы if . txt , goto . txt , for . txt , rem . txt , echo . txt.

b. Создать пакетный файл new _ name . bat, который проверяет наличие соответствующего текстового файла и, если он найден в C :\ Temp, копирует его в папку студента, изменяя при этом расширение на . doc . Запустить пакетный файл new _ name . bat 5 раз, задавая при этом в качестве параметра имя соответствующего файла с расширением *. txt.

 

3. Написать пакетный файл, выполняющий следующие задачи.

1) Сделать текущим диск D:.

2) Создать каталог MYDIR в каталоге C :\ TEMP.

3) Изменить текущий каталог на каталог TEMP диска С:.

4) Просмотреть содержимое текущего каталога:

 а) вывести список файлов и подкаталогов с паузой после каждой страницы (экрана);

б) вывести этот же список в несколько колонок;

в) вывести список файлов корневого каталога диска С:, имеющих атрибут “системный”

5) Создать в каталоге MYDIR следующую структуру каталогов:

6) С помощью команды copy создать в каталоге MYDIR текстовый файл example.txt из двух строк (любых). Для обозначения файла-источника при вводе с клавиатуры используется имя con, разделитель строк – нажатие [Enter], конец ввода – [F6]

7) Скопировать в каталог CAT1 файл example.txt.

8) Переименовать каталог CAT1 в TEXT.

9) Вывести на экран содержимое файла example.txt.

10) Скопировать в каталог CAT3 все файлы с расширением ini из каталога С:\WINNT.

11) Переместить все файлы из каталога CAT3 в каталог CAT4 с изменением расширения файлов на doc.

12) Удалить каталог CAT3.

13) Вывести текущую дату. (самостоятельно)

14) Вывести текущее время.(самостоятельно)

15) Добавить в приглашение DOS текущие дату и время.(самостоятельно)

16) Узнать версию операционной системы.

17) Удалить каталог MYDIR.

4. Сформировать отчет по проделанной работе



Дата: 2018-12-21, просмотров: 299.