ЛАБОРАТОРНАЯ РАБОТА № 4. «КОМАНДНЫЙ ИНТЕРПРЕТАТОР CMD.EXE КОМАНДНЫЕ ФАЙЛЫ *.BAT».


Цель работы: Освоение механизмов управления средствами командных файлов, командного интерпретатора cmd ОС. Использование командных файлов для автоматической работы.

Теоретические сведения

 

Большинство рассматриваемых сетевых утилит для полноценной работы требуют наличия административных привилегий. Для операционных систем семейства Windows 2000/XP достаточно того, чтобы пользователь работал под учетной записью члена группы администраторов. Интерпретатор командной строки cmd.exe можно запустить с использованием меню Пуск — Выполнить — cmd.exe.

В среде операционных систем Widows Vista/Windows 7 интерпретатор cmd.exe должен быть запущен для выполнения с использованием пункта контекстного меню «Запустить от имени администратора».

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

Командный (пакетный) файл в Windows 9x – это обычный текстовый файл с расширением bat, в котором записаны допустимые команды ОС, а также некоторые инструкции (ключевые слова) для алгоритмизации действий.

Например, deltmp.bat удалит все временные файлы в каталоге Windows\Temp:

C: \

CD %TEMP%

ATTRIB –R *.tmp

DEL *.TMP

Основной командой для вывода информации в пакетных файлах служит:

ECHO [сообщение]

С учетом перенаправления может выводить сообщения куда угодно (порты, принтер и т.п.). Например, ECHO Привет ! > hi.txt направляет сообщение в текстовый файл.

По умолчанию команды пакетного файла перед исполнением выводятся на экран, что не очень эстетично. С помощью команды ECHO OFF можно отключить дублирование вывода команд на экран. ECHO ON восстанавливает режим дублирования. Кроме этого, можно отключить дублирование отдельной строки, если предварить ее символом «@». И, наконец, можно вывести пустую строку комбинацией ECHO. (с точкой в конце).

@ECHO OFF

ECHO Привет !

ECHO.

ECHO Пока …

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

 

Общие задания для выполнения

а) Написать bat-файл формирующий список всех файлов, расположенных на устройстве c: в текущем каталоге выдать на экран и в файл all.txt (в каталог c:\temp или в каталог группы)

@echo off

subst x: c:\temp

dir >x:\all.txt

type x:\all.txt

 

б) Среди файлов, расположенных в каталоге c:\Winnt найти самый длинный файл.

@echo off

dir /O:-S c:\winnt | more

 

в) Написать bat-файл, выдающий содержимое файлов с расширением txt из текущего каталога на устройстве с: на экран.

@echo off

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

 

г) Написать bat-файл, имена файлов в каталоге Winnt на устройстве c:, в расширении которых вторая буква — x, записать в файл withx.txt

@echo off

dir *.?x* > c:\temp\withx.txt

 

д). Написать bat-файл, который имена файлов, содержащих в расширении символ  x,  записывает в файл x.txt

@echo off

dir *.*x* > x.txt

 

е). Из файлов в корневом каталоге на устройстве c: выбрать файл с самым поздним временем создания.

@echo off

dir /O:D c: | more

 

ж) Все буквы r в именах файлов заменить на буквы p.

@echo off

break on

SET A=

:start

rename %A%r*.* %A%p*.*

SET A=%A%?

goto start

 

з) Написать bat-файл, рисующий бесконечный треугольник:

@echo off

break on

SET A=

:loop

SET A=%A%aa

echo %A%

goto loop

 

 

Примечание: чтобы видеть результат в окне нужно добавлять в код команду  pause

Раскрытие скрытых папок на flash носителях после атаки вирусов

@echo offmode con codepage select=1251 > nulecho Please wait…attrib -s -h -r -a /s /d

 

Индивидуальные задания


1.       Присвоить переменной значение пробел
2.       Извлечение подстроки с конца строки
3.       Извлечение подстроки с начала строки
4.       Извлечение подстроки с середины строки
5.       Удаление первого и последнего символа в строке
6.       Удаление подстроки в строке
7.       Удаление всех пробелов в строке
8.       Замена подстроки в строке
9.       Объединение строк
10.  Конвертировать большие буквы в маленькие.