Цель работы: Освоение механизмов управления средствами командных файлов, командного интерпретатора 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. Конвертировать большие буквы в маленькие.