Создание каталога или дерева каталогов. Вариант № 13

Страницы работы

Содержание работы

Министерство образования и науки РФ

Новосибирский Государственный Технический Университет

Кафедра экономической информатики

Расчетно-графическая работа

по дисциплине: «Операционные системы, среды и оболочки»

Вариант №13

Факультет: Бизнеса

Группа: ФБИ-5

Выполнил:

Проверил: Сваровский С.Г.,

                   Ходусов Н.В.

Новосибирск

2007


MD (MKDIR)

Создание каталога или дерева каталогов.

Синтаксис и параметры:

MKDIR [диск:]путь

MD [диск:]путь

Изменение команды MKDIR при включении расширенной обработки команд:

Команда MKDIR создает при необходимости все промежуточные каталоги в пути.

Например, если \a не существует, то:

    mkdir \a\b\c\d

приводит к тому же результату, что и:

    mkdir \a

    chdir \a

    mkdir b

    chdir b

    mkdir c

    chdir c

    mkdir d

 /?    - oтображение справки.

Алгоритм выполнения:

     Команда md2 по синтаксису аналагична команде MD (MKDIR), создает каталог или дерево каталогов с именем или полным именем, передающимися через параметры.

md2 [Диск:]путь - создаст папку, если она не существует, в указанной дипектории и все каталоги по пути при том же условии. Без указания диска дерево каталогов будет создано в текущей папке.

md2 имя имя2 имя3 – создаст папки с указанными именами в текущем каталоге.

md2 /? – выдаст справку по синтаксису команды.

md2 – введенная без параметров выдаст сообщение о синтаксической ошибке.

crd(s:string):boolean

Функция crd(s:string):boolean после вызова отсекает последний элемент пути, переданного с каждым из параметров, и передает (возможную) оставшуюся часть в следующую копию crd(s:string):boolean, которую сама вызывает. В (возможно) созданном последующими копиями дереве каталогов она создает папку с переданным параметром именем. В случае успеха она возвращает в главный модуль True, неудачи – False.

Блок-схемы алгоритма:

 

 


Текст программы:

program md2;

{$APPTYPE CONSOLE}

uses

  SysUtils;

var i:byte;

function crd(s:string):boolean;

var z:boolean;

    i:word;

begin

if s[length(s)]='\' then delete(s,length(s),1);

z:=false;

for i:=1 to length(s) do if s[i]='\' then z:=true;

if z then crd(extractfilepath(s));

result:=CreateDir(s)

end;

begin

 if paramcount=0 then Writeln('Oshibka v sintaxise komandi.') else

  if paramstr(1)='/?' then

   begin

    Writeln('Sozdaniye kataloga.');

    Writeln;

    Writeln('MKDIR [disc:]put');

    Writeln('MD [disc:]put');

    Writeln;

    Writeln('Izmenenie komandi MKDIR pri vkluchenii rasshirennoy obrabotki komand:');

    Writeln;

    Writeln('Komanda MKDIR sozdaet pri neobhodimosti vse promejutochnie katalogi v puti.');

    Writeln('Naprimer, esli \a ne susshestvuet, to:');

    Writeln;

    Writeln('    mkdir \a\b\c\d');

    Writeln;

    Writeln('privodit k tomu je rezultatu, chto i:');

    Writeln;

    Writeln('mkdir \a');

    Writeln('chdir \a');

    Writeln('mkdir b');

    Writeln('chdir b');

    Writeln('mkdir c');

    Writeln('chdir c');         

    Writeln('mkdir d');

    Writeln;

    Writeln('Pri otkluchenii rasshirennoy obrabotki komand ispolzuetsya tolko vtoroy variant.');

   end else

for i:=1 to paramcount do

   if DirectoryExists(ParamStr(i)) then WriteLn('Podpapka ili fayl'+' '+ParamStr(i)+' '+'uje sushestvuet.')

   else begin if not crd(ParamStr(i)) then WriteLn('Ne udalos sozdat'+' '+ParamStr(i)) end

end.

Результат работы программы:

Команда: md2

Реакция:

C:\>md2

Oshibka v sintaxise komandi.

C:\>

Команда: md2 c:\temp\a b c

Реакция:

C:\>md2 temp

C:\>md2 c:\temp\a b c

C:\>

Команда: md2 c:\temp\a

Реакция:

C:\>md2 c:\temp\a

Podpapka ili fayl c:\temp\a uje sushestvuet.

C:\>

Команда: md2 /?

Реакция:

C:\>md2 /?

Sozdaniye kataloga.

MKDIR [disc:]put

MD [disc:]put

Izmenenie komandi MKDIR pri vkluchenii rasshirennoy obrabotki komand:

Komanda MKDIR sozdaet pri neobhodimosti vse promejutochnie katalogi v puti.

Naprimer, esli \a ne susshestvuet, to:

    mkdir \a\b\c\d

privodit k tomu je rezultatu, chto i:

mkdir \a

chdir \a

mkdir b

chdir b

mkdir c

chdir c

mkdir d

Pri otkluchenii rasshirennoy obrabotki komand ispolzuetsya tolko vtoroy variant.

C:\>

Похожие материалы

Информация о работе