Теоретическая часть.
Файл-это определённая область внешней памяти, которой присвоено своё конкретное имя, он используется для хранения текстов, программ, данных и т.д.
Одинаковые имена, но разные типы имеют:
PROG.COM - програмный файл в машинных кодах
PROG.OBJ - програмный файл в объектных кодах
PROG.PAS - програмный файл на языке Паскаль
В MS-DOS существуют стандартные обозначения типов файлов , которые позволяют определять характер файлов визуально. Например :
COM - командный файл;
EXE - исполнительный файл;
BAT - пакетный файл;
SYS - системный файл;
TXT - текстовый файл;
BAS - файл-программа на исходном языке Бейсик;
PAS - файл-программа на исходном языке Паскаль;
ASM - файл-программа на исходном языке Ассемблер;
PRG - файл-программа на исходном языке Фоксбазеф;
DBF - файл базы данных;
IBX - индексный файл;
ICE - файл , помещённый в архиве.
Каталог - это группа файлов на одном носителе, объединённых по какому-либо признаку (обычно логически взаимосвязанных). Каталог имеет имя и в свою очередь может быть зарегистрирован в другом каталоге .
При сложной древовидной структуре файлов на диске для указания файла уже недостаточно точно задать только его имя. Одноименные, но различные по содержанию файлы могут фигурировать в нескольких каталогах. Для точной идентификации (указания) файла необходимо, кроме имени указать его местонахождение - цепочку подчинённых каталогов. Такая цепочка называется маршрутом или путём по файловой системе. Маршрут отделяется от имени файла знаком " \ ". Итак, файл задаётся следующими элементами:
именем накопителя (оно может отсутствовать);
местоположением (маршрутом ): цепочкой имён каталогов, в которой каждый последующий является подкаталогом предыдущего ( маршрут тоже может отсутствовать );
собственного имени файла.
Команды для работы с каталогами и файлами:
DIR - выдаёт список имён файлов указанного или текущего каталога;
ASSIGN - присваивает диску другое логическое имя;
CD - предназначена для изменения текущего каталога (для перехода из одного каталога в другой;
MD - создаёт новый каталог;
RD - удаляет пустой каталог;
TREE - позволяет вывести на экран пути ко всем подкаталогам;
PATH - позволяет устанавливать список каталогов, в которых будет производится поиск файлов.
REN - используется для переименования файлов;
DEL - используется для удаления файлов;
TYPE - используется для вывода содержимого текстового файла;
COPY - используется для копирования файлов.
Для записи имени файла в DOSе часто используются шаблоны ?, *.Шаблоны употребляются в командах для обозначения сразу нескольких файлов. Знак * в имени файла заменяет любое число любых символов, а знак " ? " заменяет любой одиночный символ. Знак " ? ", помещённый последним в шаблоне имени или типа файла воспринимается как любой одиночный символ или отсутствие такового. Примеры шаблонов: D?.* - все файлы с любыми расширениями, которые начинаются на букву D и содержащие 1 или 2 символа.
Задание.
1.Создать структуру каталога в соответствии с заданной схемой:
C:\104412\104412-1\Chudinov\Lab1
/ \
x11-x1-x y - y1 - y11 - y111
/ \ \
x12 x2 y112
|
A - B - C - C1 - C11
/ \
C2 C12 - H - K - L
/ \
K1 K2
2.Скопировать все файлы с расширением TXT в подкаталог C.
3.Скопировать все файлы с расширением PAS в подкаталог Y11.
4.Удалить подкаталог X1.
5.Удалить из подкаталога С один из файлов с расширением TXT.
6.Открыть один из файлов с расширением PAS.
7.В результате лабораторной работы записать содержимое каталога Y11, C.
Ход работы.
Нажимаем Пуск - Завершение работы -Перезагрузить компьютер в режиме MS - DOS для выхода в режим MS - DOS.
1.C:\md 104412 - создал каталог 104412;
C:\cd 104412 - вошёл в каталог 104412;
C:\104412\md 104412_1 - создал каталог 104412_1;
C:\104412\cd 104412_1 - вошёл в каталог 104412_1;
C:\104412\104412_1\md Chudinov - создал каталог Chudinov;
C:\104412\104412_1\cd Chudinov - вошёл в каталог Chudinov;
C:\104412\104412_1\Chudinov\md Lab1 - создал каталог Lab1;
C:\--\--\Chudinov\cd Lab1 - вошёл в каталог Lab1;
C:\--\--\--\Lab1\md x - создал каталог x;
C:\--\--\--\Lab1\md y - создал каталог y;
C:\--\--\--\Lab1\cd x - вошёл в каталог x;
C:\--\--\--\--\x\md x1 - создал каталог x1;
C:\--\--\--\--\x\md x2 - создал каталог x2;
C:\--\--\--\--\x\cd x1 - вошёл в каталог x1;
C:\--\--\--\--\--\x1\md x11 - создал каталог x11;
C:\--\--\--\--\--\x1\md x12 - создал каталог x12;
C:\--\--\--\--\x\x1\cd .. - вышел в каталог x;
C:\--\--\--\--\x\cd x2 - вошёл в каталог x2;
C:\--\--\--\--\--\x2\md a - создал каталог a;
C:\--\--\--\--\--\x2\cd a - вошёл в каталог a;
C:\--\--\--\--\--\--\a\md b - создал каталог b;
C:\--\--\--\--\--\--\a\cd b - вошёл в каталог b;
C:\--\--\--\--\--\--\--\b\md c - создал каталог c;
C:\--\--\--\--\--\--\--\b\cd c - вошёл в каталог c;
C:\--\--\--\--\--\--\--\--\c\md c1 - создал каталог c1;
C:\--\--\--\--\--\--\--\--\c\md c2 - создал каталог c2;
C:\--\--\--\--\--\--\--\--\c\cd c1 - вошёл в каталог c1;
C:\--\--\--\--\--\--\--\--\--\c1\md c11 - создал каталог c11;
C:\--\--\--\--\--\--\--\--\--\c1\md c12 - создал каталог c12;
C:\--\--\--\--\--\--\--\--\--\c1\cd c12 - вошёл в каталог c12;
C:\--\--\--\--\--\--\--\--\--\--\c12\md h - создал каталог h;
C:\--\--\--\--\--\--\--\--\--\--\c12\cd h - вошёл в каталог h;
C:\--\--\--\--\--\--\--\--\--\--\--\h\md k - создал каталог k;
C:\--\--\--\--\--\--\--\--\--\--\--\h\cd k - вошёл в каталог k;
C:\--\--\--\--\--\--\--\--\--\--\--\--\k\md k1 - создал каталог k1;
C:\--\--\--\--\--\--\--\--\--\--\--\--\k\md k2 - создал каталог k2;
C:\--\--\--\--\--\--\--\--\--\--\--\--\k\md L - создал каталог L;
C:\--\--\--\--\--\--\--\--\--\--\--\--\k\cd \ - вышел в корневой каталог С;
C:\cd 104412 - вошёл в каталог 104412;
C:\104412\cd 104412_1 - вошёл в каталог 104412_1;
C:\104412\104412_1\cd Chudinov - вошёл в каталог Chudinov;
C:\--\--\Chudinov\cd Lab1 - вошёл в каталог Lab1;
C:\--\--\--\Lab1\cd y - вошёл в каталог y;
C:\--\--\--\--\y\md y1 - создал каталог y1;
C:\--\--\--\--\y\cd y1 - вошёл в каталог y1;
C:\--\--\--\--\--\y1\md y11 - создал каталог y11;
C:\--\--\--\--\--\y1\cd y11 - вошёл в каталог y11;
C:\--\--\--\--\--\--\y11\md y111 - создал каталог y111;
C:\--\--\--\--\--\--\y11\md y112 - создал каталог y112;
C:\--\--\--\--\--\--\y11\cd \ - вышел в корневой каталог С;
2.С:\copy c:\windows\*.txt c:\104412\104412_1\\Lab1\x\x2\a\b\c - скопировал фай- лы с расширением txt в подкаталог с на экране появился список этих файлов:
LICENSE.TXT HARDWARE.TXT RECOVER.TXT
SUPPORT.TXT MOUSE.TXT TIPS.TXT
CONFIG.TXT MSDOSDRV.TXT SFCSYNC.TXT
DISPLAY.TXT NETWORK.TXT OEVABLOG.TXT
FAQ.TXT PRINTERS.TXT BRNDLOG.TXT
GENERAL.TXT PROGRAMS.TXT SCHEDLOG.TXT
3.С:\copy c:\*.pas c:\104412\104412_1\\Lab1\y\y1\y11 - скопировал файлы с расши-рением pas в подкаталог y11 на экране появился список этих файлов:
104121.PAS YURALAB1.PAS 104121YR.PAS 104121Y2.PAS
4.C:\cd 104412 - вошёл в каталог 104412;
C:\104412\cd 104412_1 - вошёл в каталог 104412_1;
C:\104412\104412_1\cd Chudinov - вошёл в каталог Chudinov;
C:\--\--\Chudinov\cd Lab1 - вошёл в каталог Lab1;
C:\--\--\--\Lab1\cd x - вошёл в каталог x;
C:\--\--\--\--\x\cd x1 - вошёл в каталог x1;
C:\--\--\--\--\--\x1\rd x11 - удалил каталог x11;
C:\--\--\--\--\--\x1\rd x12 - удалил каталог x12;
C:\--\--\--\--\--\x1\cd .. - поднялся в каталог x;
C:\--\--\--\--\x\rd x1 - удалил каталог x1;
5.C:\--\--\--\--\x\cd x2 - вошёл в каталог x2;
C:\--\--\--\--\--\x2\cd a - вошёл в каталог a;
C:\--\--\--\--\--\--\a\cd b - вошёл в каталог b;
C:\--\--\--\--\--\--\--\b\cd c - вошёл в каталог c;
C:\--\--\--\--\--\--\--\--\c\del MOUSE.TXT - удалил один из файлов с расширением txt;
C:\--\--\--\--\--\--\--\--\c\cd \ - вышел в корневой каталог С;
6.C:\cd 104412 - вошёл в каталог 104412;
C:\104412\cd 104412_1 - вошёл в каталог 104412_1;
C:\104412\104412_1\cd Chudinov - вошёл в каталог Chudinov;
C:\--\--\Chudinov\cd Lab1 - вошёл в каталог Lab1;
C:\--\--\--\Lab1\cd y - вошёл в каталог y;
C:\--\--\--\--\y\cd y1 - вошёл в каталог y1;
C:\--\--\--\--\--\y1\cd y11 - вошёл в каталог y11;
C:\--\--\--\--\--\--\y11\type 104121YR.PAS - открыл один из файлов с расширением pas;
PROGRAM LAB_1_1;
VAR x:real;
FUNCTION tg(x:real):real;
BEGIN
If cos(x)<>0 then tg(x):=sin(x)/cos(x)
else writeln ('----------');
end;
begin
writeln ('-----------');
readln (x);
writeln ('x');
end.
7.C:\cd 104412 - вошёл в каталог 104412;
C:\104412\cd 104412_1 - вошёл в каталог 104412_1;
C:\104412\104412_1\cd - вошёл в каталог ;
C:\--\--\\cd Lab1 - вошёл в каталог Lab1;
C:\--\--\--\Lab1\cd x - вошёл в каталог x;
C:\--\--\--\--\x\cd x2 - вошёл в каталог x2;
C:\--\--\--\--\--\x2\cd a - вошёл в каталог a;
C:\--\--\--\--\--\--\a\cd b - вошёл в каталог b;
C:\--\--\--\--\--\--\--\b\cd c - вошёл в каталог c;
C:\--\--\--\--\--\--\--\--\c\dir - вывел на экран содержимое каталога c;
LICENSE.TXT HARDWARE.TXT RECOVER.TXT
SUPPORT.TXT MOUSE.TXT TIPS.TXT
CONFIG.TXT MSDOSDRV.TXT SFCSYNC.TXT
DISPLAY.TXT NETWORK.TXT OEVABLOG.TXT
FAQ.TXT PRINTERS.TXT BRNDLOG.TXT
GENERAL.TXT PROGRAMS.TXT SCHEDLOG.TXT
C1 C2
C:\--\--\--\--\--\--\--\--\c\cd \ - вышел в корневой каталог С;
C:\cd 104412 - вошёл в каталог 104412;
C:\104412\cd 104412_1 - вошёл в каталог 104412_1;
C:\104412\104412_1\cd Chudinov - вошёл в каталог Chudinov;
C:\--\--\Chudinov\cd Lab1 - вошёл в каталог Lab1;
C:\--\--\--\Lab1\cd y - вошёл в каталог y;
C:\--\--\--\--\y\cd y1 - вошёл в каталог y1;
C:\--\--\--\--\--\y1\cd y11 - вошёл в каталог y11;
C:\--\--\--\--\--\--\y11\dir - вывел на экран содержимое каталога y11;
104121.PAS YURALAB1.PAS 104121YR.PAS 104121Y2.PAS
Y111 Y112
Таким образом, мы познакомились с операционной системой MS-DOS и изучили команды работы с файлами и каталогами.