Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Obrazets.doc
Скачиваний:
21
Добавлен:
10.06.2015
Размер:
3.99 Mб
Скачать

2.4.7.4. Команды mkdir

Для создания нового каталога и удаления уже существующего пустого каталога используются команды MKDIR [диск:]путь и RMDIR [диск:]путь [ключи] соответственно (или их короткие аналоги MD и RD). Например:

MKDIR "C:\Примеры"

RMDIR "C:\Примеры"

Команда MKDIR не может быть выполнена, если каталог или файл с заданным именем уже существует. Команда RMDIR не будет выполнена, если удаляемый каталог не пустой.

2.4.7.5. Команда del или erase

Удалить один или несколько файлов можно с помощью команды

DEL [диск:][путь]имя_файла [ключи]

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

3. Назначение ключей и параметров, описание команд

3.1. Команда type

Для реализации команды type вывод на экран содержимого текстового файла, использовались стандартные конструкции TStringList позволяющие безболезненно получать доступ к файлам и даже перехватывать сообщении об ошибках при открытии фала или его отсутствия по данному пути.

Алгоритм работы:

1. Если есть ключ справки выводим ее, возвращаемся на начало.

2. Создаем структуру для поиска и доступа.

3. Пробуем загрузить файл, если он есть то загружаем его содержимое в структуру.

4. Выводим содержимое файла.

if UpperCase (rg.Match[0]) = 'TYPE ' then

begin

help := '';

rg.Expression := '\/\?';

rg.Exec(tl);

if rg.Match[0] = '/?' then

begin

MyWriteln('TYPE [DISK:][PATH:][FILE:]'

+#13#10+'Открывает документ по полному или краткому пути');

goto g1;

end

else

begin

rg.Expression := '[A-Za-z][:][ \\A-Za-z0-9]*[.A-Za-z0-9]*';

rg.Exec(tl);

if rg.Match[0] <> ''

then

begin

strList := TStringList.Create;

try

strList.LoadFromFile(rg.Match[0]);

except

MyWriteln('Запрашиваемый файл либо каталог не существует');

end;

for i := 0 to strList.Count-1 do

begin

MyWriteln(strList.strings[i]);

end;

strList.Free;

end

else

begin

rg.Expression := '[ ]+[ \\A-Za-z0-9]+[.A-Za-z0-9]*';

rg.Exec(trimleft(tl));

if rg.Match[0] <> ''

then

begin

strList := TStringList.Create;

try

help := Copy(curpath,1,length(curpath)-1);

if help[Length(help)] <> '\'

then help :=help + rg.Match[0]

else

begin

if rg.Match[0][1] <> '\'

then help :=help + trimleft(rg.Match[0])

else help :=copy(help,1,Length(help)-1) + trimleft(rg.Match[0]);

end;

strList.LoadFromFile(help);

except

MyWriteln('Запрашиваемый файл либо каталог не существует');

end;

for i := 0 to strList.Count-1 do

begin

MyWriteln(strList.strings[i]);

end;

strList.Free;

end

else

begin

rg.Expression := '[ ]+[A-Za-z0-9]+[.\]+[A-Za-z0-9]+';

rg.Exec(trimleft(tl));

if rg.Match[0] <> ''

then

begin

strList := TStringList.Create;

try

help := Copy(curpath,1,length(curpath)-1);

if help[Length(help)] <> '\'

then help :=help + rg.Match[0]

else help :=copy(help,1,Length(help)-1) + trimleft(rg.Match[0]);

strList.LoadFromFile(help);

except

MyWriteln('Запрашиваемый файл либо каталог не существует');

end;

for i := 0 to strList.Count-1 do

begin

MyWriteln(strList.strings[i]);

end;

strList.Free;

end

else

begin

MyWriteln('Не указаны параметры');

goto g1;

end;

end;

end;

end;

goto g1;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]