- •Работа №1 Общие сведения о командной оболочке
- •Использование синтаксиса команд
- •Пакетные (batch, bat) файлы
- •Как создать batch файл?
- •Команды, используемые в bat файлах
- •Как автоматизировать запуск bat файлов
- •Как добавить комментарии в bat-файл
- •Задание
- •Работа №2 Использование пакетных параметров командной строки
- •Задание
- •Работа №3 Использование операторов перенаправления команд
- •Дублирование дескрипторов
- •Задание
- •Работа №4 Использование переменных среды в Cmd.Exe
- •Установка переменных среды
- •Подстановка значений в переменные среды
- •Задание
- •Автоматическое создание резервной копии данных
Установка переменных среды
Используйте команду set для создания, удаления или отображения переменных среды. Команда set изменяет переменные только в среде текущей оболочки.
Чтобы отобразить переменную, в командной строке введите:
set имя_переменной
Чтобы добавить переменную, в командной строке введите:
set variablename=значение
Чтобы удалить переменную, в командной строке введите:
set имя_переменной=
Имеется возможность использовать большинство символов в качестве значений переменных, в том числе пробел. При использовании специальных символов, таких как <, >, &, или ^, перед ними следует помещать управляющий символ (^) или кавычки. При использовании кавычек они включаются в значение переменной, так как все символы, следующие после знака равенства принимаются за значение переменной. Учтите следующие примеры.
Чтобы создать значение переменной new&name ,введите:
set varname=new^&name
Чтобы создать значение переменной "new&name" ,введите:
set varname="new&name"
При вводе в командной строке set varname=new&name появляется следующее сообщение об ошибке: "'name' is not recognized as an internal or external command, operable program or batch file."
В именах переменных регистр символов не учитывается. Однако, команда set отображает значение переменной так, как оно было введено. Можно комбинировать символы нижнего и верхнего регистра в именах переменных, чтобы облегчить восприятие кода (например, ИмяПользователя).
Примечания
Максимальный размер отдельной переменной среды составляет 8192 байта.
Максимальный общий размер всех переменных среды, включая имена переменных и знак равенства, составляет 65 536 Кбайт.
Подстановка значений в переменные среды
Чтобы иметь возможность подставлять значения в переменную среды из командной строки или из сценариев, следует заключить имя соответствующей переменной в символы процентов (%имя_переменной%). Символы процентов указывают на то, что Cmd.exe должен обратиться к значениям переменных, а не делать посимвольное сравнение. После определения значения для имени переменной, заключите имя переменной в символы процентов. Cmd.exe проводит поиск всех вхождений имени переменной и заменяет его на определенное значение переменной. Например, требуется создать сценарий, содержащий различные значения (например, имена пользователей), и требуется определить соответствующее значение переменной среды USERNAME для каждого пользователя. Для этого следует написать сценарий с использованием переменной USERNAME, заключенной в кавычки. При выполнении сценария Cmd.exe заменит вхождения %USERNAME% соответствующими значениями, что избавит от необходимости делать это вручную для каждого пользователя. Подстановка значений не является рекурсивной. Cmd.exe проверяет переменные один раз.
Задание
1. В отчете подробно расписать ход и результат работы такого скрипта:
Автоматическое создание резервной копии данных
rem ******************* rem ******************* SET DRIVE1ST=d: SET DRIVE2ND=e: rem ******************* rem ******************* SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf rem ******************* rem ******************* rem SET COPYTO=\\shpakk\c$\!backup rem ******************** rem ******************** %DRIVE1ST% if not exist \!backup md \!backup if not exist \!backup\Departments md \!backup\Departments if not exist \!backup\Exchange md \!backup\Exchange if not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdisk cd \!backup rem ****************************** rem *** Backup \\SERVER\e$\Exchange rem ****************************** SET DIRNAME=Exchange SET FILENAME=SERVER_Exchange SET SOURCEDIR=e:\Exchange rar a -r -m5 -dh -x*.mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.* if not exist %DIRNAME%\%FILENAME%_new.rar goto next2 del %DIRNAME%\%FILENAME%_old.rar ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME% :next2 rem *************************** rem *** Backup \\SERVER\e$\Users rem *************************** SET DIRNAME=Departments SET FILENAME=SERVER_Departments SET SOURCEDIR=e:\Departments if not exist %DIRNAME%\%FILENAME%_new.rar goto next3 del %DIRNAME%\%FILENAME%_old.rar ren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rar ren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rar ren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rar ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar :next3 rem ******************* rem ******************* rem rar a -r -m5 -v357888k -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR% rem ******************* rem ******************* rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR% goto next4 :next4 rem ********************************** rem ********************************** SET DIRNAME=MEDEA_rdisk SET FILENAME=MEDEA_rdisk SET SOURCEDIR=%windir%\repair %windir%\system32\rdisk.exe /s- rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.* if not exist %DIRNAME%\%FILENAME%_new.rar goto next5 del %DIRNAME%\%FILENAME%_old.rar ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME% :next5
