Tree h: – нарисовать дерево каталогов диска h:.

      Комментарии к записи Tree h: – нарисовать дерево каталогов диска h:. отключены

Теоретический материал

В любой операционной системе (ОС) – в том числе и в MS-DOS – имеется командный язык, который позволяет выполнять те или иные действия. Анализ и исполнение команд пользователя, включая загрузку готовых программ из файлов в оперативную память и их запуск, осуществляется командным процессором ОС.

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

Основные команды

Для выдачи справочного материала по командам MS-DOS ввести: команда/? В описании команд в скобки [] заключены те элементы команды, которые можно не указывать. Стандартными внешними устройствами являются: CON – клавиатура и дисплей; PRN – принтер, NUL – пустое устройство. Символом d: обозначен любой дисковый носитель.

I.Команды работы с каталогами

1) DIR – просмотр содержимого каталога:

DIR [d:][путь\][имя_файла][/P][/W][/A][/O][/S][/B][/L].

Параметры:

/P – постраничный вывод на экран;

/W – вывод записей в усеченном формате (только имена файлов) в 5 колонок;

/A:атрибуты – индикация содержимого каталогов с атрибутами (H, A, S, R, D или –H, –A,…);

/O:критерий – задание порядка вывода имен файлов (по алфавиту N, времени создания T, расширению E, размеру S, дате D, или –N, –T, … – означает обратный порядок);

/S – вывод имен файлов в каталоге и подкаталогах;

/B – вывод только имен файлов в столбик;

/L – вывод информации маленькими буквами.

Примеры:

DIR /P – постраничный вывод на экран содержимого текущего каталога;

DIR *.txt –вывод на экран имен файлов с расширением txt из текущего каталога.

2)MD (MKDIR) – создание подкаталога в текущем или пассивном каталоге:

MD [d:][путь\]имя_подкаталога.

Пример:

MD H:\WORK\TEST – создание в пассивном каталоге H:\WORK подкаталога TEST.

3)RD (RMDIR) – уничтожение каталога (пустого):

RD [d:][путь\]имя_подкаталога.

Пример:

RD TEST – уничтожение подкаталога TEST в текущем каталоге.

4)CD – переход в другой каталог:

CD [d:][путь\][имя_подкаталога].

Примеры:

CD .. – переход в родительский каталог; CD \ – переход в корневой каталог;

CD (\)TEST – переход в подкаталог TEST текущего (корневого) каталога.

5)TREE – отображение структуры каталогов диска в виде дерева:

TREE [d:[\путь]][/F].

Параметр /F – в дереве отображаются также и файлы.

Пример:

TREE H: – нарисовать дерево каталогов диска H:.

II. Команды работы с файлами

1)TYPE – просмотр содержимого текстового файла на экране:

TYPE [d:][путь\]имя_файла (в имени маску, т.е. * и ?, использовать нельзя!).

Пример:

TYPE H:\TXT\a.txt – просмотр содержимого файла a.txt из каталога H:\TXT.

Замечание: Для приостановки просмотра необходимо нажать комбинацию клавиш CTRL+S (для продолжения просмотра нажать любую клавишу).

2)DEL – удаление одного или группы файлов:

DEL [d:][путь\]имя_файла (или шаблон) [/P].

Параметр /P – выдача запроса на подтверждение удаления.

Пример:

DEL H:\*.* /P – уничтожить все файлы на диске H: в корневом каталоге с выдачей запроса на подтверждение удаления.

3)COPY – копирование одного или группы файлов, вывод содержимого файла на внешнее устройство, объединение содержимого нескольких файлов в один.

Для копирования файлов:

COPY [d1:][путь1\]имя_файла1 [d2:][путь2\][имя_файла2] [/V].

Параметр /V – контролирует процесс копирования.

Примеры:

COPY a.txt PRN – распечатать файл a.txt из текущего каталога на принтере;

COPY CON a.txt – создать файл a.txt с клавиатуры (окончание ввода: CTRL+Z);

COPY *.txt H: – скопировать все файлы типа .txt из текущего каталога на диск H:.

Для объединения файлов:

COPY [d1:][путь1\]имя_ф1+[d2:][путь2\]имя_ф2+… [d:][путь\]имя_файла-приемника.

Пример:

COPY a1.txt+a2.txt a.txt – объединить содержимое файлов a1.txt и a2.txt в a.txt.

4) REN (RENAME) – переименование файла:

REN [d:][путь\]имя_файла1 имя_файла2 (можно использовать шаблон).

Пример:

REN a.txt a.doc – переименовать в текущем каталоге файл a.txt в файл a.doc.

5)COMP – побитовое сравнение файлов (после 10 различий сравнения прекращаются):

COMP [d1:][путь1\]имя_файла1 [d2:][путь2\]имя_файла2 [/L][/C].

Параметры:

/L – отображать номера строк, в которых есть различия;

/C – не различать большие и маленькие буквы.

Пример:

COMP a.txt a.doc – сравнить содержимое файлов a.txt и a.doc из текущего каталога.

III. Редактирование вводимых команд DOS

Для удобства редактирования вводимых команд существует специальная программа DOSKEY. После запуска она становится резидентной. Программа DOSKEY хранит в кольцевом стеке несколько ранее введенных пользователем команд и может выводить их в командную строку DOS. Для управления стеком команд используются клавиши:

  • (¯) – вызов предыдущей (следующей) команды;
  • ALT+F7 – очистка стека команд;
  • F7 – вывод на экран списка запомненных команд и их номеров;
  • F9 – вывод из стека в командную строку текста команды с данным номером.

При редактировании вводимых и вызванных команд становятся доступными стандартные клавиши перемещения курсора, удаления символов, режима вставки/замены.

Задание макрокоманд: DOSKEY имя макрокоманды=определение макрокоманды.

Конвейеры и фильтры в MS-DOS

Направление стандартного вывода одной программы на вход другой обеспечивается за счет использования конвейеров.

Конвейер – это последовательность команд, осуществляющих поэтапную обработку данных. Для сцепления команд в конвейер используется символ | . Для реализации конвейера MS-DOS использует временный файл, который операционная система сама создает в корневом каталоге и уничтожает после отработки конвейера, т.е. обмен между командами конвейера реализуется через файловую систему.

Пример: P1|P2|P3 – выходной поток программы P1 подается на вход программы P2, а выходной поток P2 является входным для P3.

В конвейерах в основном используются три команды-фильтра MORE, SORT, FIND.

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

Команды-фильтры: (в них команда должна выводить информацию на экран)

1)MORE –постраничное отображение (файла или результата работы команды):

MORE [ имя_файла]или

команда|MORE.

Пример:

DIR|MORE – постраничное отображение содержимого текущего каталога;

MOREa.txt– постраничное отображение содержимого файла a.txt;

TYPE a.txt |MORE – то же самое;

ECHO|MORE – генерирует маркер EOL, т.е. моделирует нажатие клавиши Enter.

2)SORT –сортировка строк текстового файла в лексикографическом порядке:

SORT [/R][/+n][имя_файла-источника][ имя_файла-приемника] или команда|SORT [/R][/+n][ имя_файла-приемника].

Параметры:

/R – сортировка в обратном порядке (от 9 к 0, от Z к A);

/+n – указывает номер позиции в строке, по которой осуществляется сортировка.

Примеры:

SORT /Ra.txt– отсортировать в обратном порядке строки файла a.txt, результат сортировки вывести на экран;

SORT /Rb.txt – то же самое, но результат сортировки вывести в файл b.txt;

DIR|SORT/+10– отсортировать содержимое текущей директории по расширению имен файлов, результат сортировки вывести на экран.

3)FIND –поиск заданной последовательности символов в текстовом файле:

FIND[/V][/C][/N][/I] «фрагмент» имя_файлаили
команда|FIND[/V][/C][/N][/I] «фрагмент».

Параметры:

/V – выводить строки, в которых отсутствует «фрагмент»;

/C – выводятся только номера строк, содержащих «фрагмент»;

/N – выводятся номера строк и сами строки, содержащие «фрагмент»;

/I – игнорируются различия строчных и прописных букв.

Пример:

DIR|FIND /V «i»a.txt – записать в файл a.txt содержимое текущего каталога с игнорированием сообщений об устройстве и свободной памяти (в случае вывода на английском языке в них есть строчная буква «i»).

Пакетные командные файлы

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

  • команды DOS;
  • обращение к исполняемым программам (с расширением .com, .exe);
  • вызовы других командных файлов;
  • специальные команды для управления выдачей на экран;
  • специальные команды для организации ветвлений и циклов;
  • метки.

Файлы с расширением bat можно создавать текстовым редактором. Командный файл представляет собой системную макрокоманду и является аналогом процедуры в программировании. Командные файлы предназначены для упрощения процесса задания часто используемых последовательностей команд. В частности, они полезны при выдаче команд, требующих много аргументов и переключателей, чтобы не вводить каждый раз с клавиатуры длинную строку. Для описания действий, которые необходимо осуществить после загрузки ОС, используется командный файл AUTOEXEC.BAT.

Командные файлы обрабатываются командным процессором построчно, причем каждая прочитанная строка отображается на экране дисплея (если не был установлен режим ECHO OFF), а затем интерпретируется. Если в начале строки командного файла указать символ @, то данная строка не будет отображаться на экране перед ее интерпретацией.

Некоторые команды .bat -файлов:

CLS – очистка экрана;

ECHOразрешение или подавление вывода на экран системных сообщений:

[@]ECHO[ON][OFF]

ECHO[строка] – отображение строки на экране;

GOTO – безусловный переход (признаком метки является двоеточие в начале строчки);

IF– проверка условия и ветвление:

IF EXIST имя_файла(или шаблон)… – проверка существования файла;

IF текстовая_строка1==текстовая_строка2 … – сравнение двух строк;

Пример:

IF %1= = Y GOTO m – переход на m, если фактический параметр = Y;

IF EXIST a.txt ECHO файл существует! – вывод надписи, если файл имеется;

PATH – работа с поисковыми маршрутами: (путь без пробелов!)

PATH имя_каталога[;имя_кат] – установка списка каталогов для поиска программ;

PATH ; – установка поиска только в текущем каталоге;

PATH без пар-в – вывод имен каталогов, в которых производится поиск программ;

PAUSE – приостановка выполнения программы и ожидание нажатия клавиши;

PROMPT аргумент – задание формата приглашения DOS.

Аргумент – строка из управляющих символов:

$b– выдача символа-разделителя |;

$d– выдача текущей даты;

$g– выдача символа-разделителя ;

$h– стирание предыдущего символа (BackSpase);

$n– выдача имени текущего дисковода;

$p– выдача имени текущего (рабочего) каталога;

$t– выдача текущего времени;

$v– выдача номера версии MS-DOS;

$_– последовательность символов «возврат каретки» и «перевод строки»;

Примеры:

PROMPT $p$g – стандартное приглашение, содержащее путь к текущему каталогу;

REM – строка комментариев;

SHIFT – сдвиг списка формальных параметров;

Командные файлы с параметрами:

При вызове командного файла можно задать последовательность аргументов, отделенных друг от друга пробелом, которые будут замещать формальные параметры при интерпретации строк .bat -файла. Допускается использовать до 10 формальных параметров с именами %0, %1, …, %9. Действует принцип позиционного соответствия параметров и аргументов, т.е. вместо %0 подставляется имя командного файла, вместо %1 подставляется первый аргумент и т.д. Для обрабатывания неизвестного заранее количества параметров можно использовать команду SHIFT.

Пример: Пусть имеется командный файл pf.bat, содержащий строки:

@ECHO OFF
TYPE %1
PAUSE
TYPE %2
PAUSE

Запустить его на выполнение можно следующим образом: pf.bat f1.txt f2.txt.

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

Пример: Для добавления маршрута поиска к уже имеющимся в командный файл можно включить строку @SET PATH=%PATH%;H:\PAS.

Рекурсивные (вложенные) вызовы командных файлов:

В общем случае в DOS не предусмотрены вложенные вызовы командных файлов с возвратом. Однако они возможны, если применить особый способ – обращение к командному процессору COMMAND.COM с указанием в качестве аргумента имени вызываемого командного файла.

Пример:

Пусть имеется два командных файла – «вызывающий» x.bat и «вызываемый» y.bat. Оформление вызова y.bat из x.bat и возврат обратно осуществляется по следующей схеме:

Файл x.bat
вызов Файл y.bat
COMMAND/C y
возврат EXIT

Задание на лабораторные работы

На диске Н: создать каталог BATH.

1.¨ В каталоге BATH создать файл part1.bat, содержащий следующие команды:

а) не выводить команды файла на экран;

б) очистить экран;

в) выдать на экран сообщение о создании файла a.txt;

г) создать текстовый файл;

д) отсортировать файл a.txt по убыванию и записать результат в файл a_sort.txt;

е) на экране выдать сообщение об отображении отсортированного варианта файла a.txt;

ж) вывести файл a_sort.txt на экран.

¨ *Дополнить файл part1.bat проверкой – если файл a.txt уже есть в текущем
каталоге, сообщить об этом и закончить работу.

2.Создать командный файл tf1.bat, который должен работать следующим образом:

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

§Каждый файл выводится на экран после нажатия клавиши, на чистом экране, сверху выдается информация – заголовок, содержащий имя файла.

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

§По окончании работы выдается сообщение вида Файлов больше нет.

3.¨ Создать файл cf1.bat, который может иметь несколько входных параметров, представляющих собой имена файлов. При запуске без параметров должна выводиться подсказка – формат команды. Работа файла cf1.bat заключается в следующем:

§Для каждого из заданных файлов выполняется проверка на его существование в текущем каталоге, и результат ее выводится на экран.

§Действия выполняются до тех пор, пока не будут проверены все файлы.

§В процессе работы должны быть созданы два файла: list_ex.txt и list_n.txt – в первый заносятся имена существующих файлов, во второй – несуществующих.

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

¨Запустить файл cf.bat с разным количеством параметров (не менее 4–6).

¨*Сделать в файле cf.bat необходимые изменения, чтобы можно было в качестве первого параметра указывать путь к каталогу, в котором будет выполняться поиск.

4. ¨ Создать файл cf2.bat, параметр которого – имя файла. Работа cf2.bat состоит в проверке наличия указанного файла в текущем каталоге. Далее выполняется разветвление:

§Если файла нет, вызвать mf.bat, в котором создается пустой файл с указанным именем (имя передавать как параметр) и затем выводится на экран содержимое каталога.

§Если файл есть, вызвать cf2.bat, который будет распечатывать этот файл на экране, сопровождая заголовком «Печатается файл такой-то» (с указанием его имени).

¨При запуске любого файла выводить сообщение, какой именно файл работает. По окончании его работы вернуться в исходный файл cf2.bat, в котором вместо стандартного сообщения команды PAUSE сделать свое, например «Работа окончена».

Статьи к прочтению:

КС | 3.5. Древовидный вывод файлов [Tree]


Похожие статьи:

  • Дерево каталогов и поиск каталогов

    Поиск каталога и переход в другой каталог осуществляется с помощью дерева каталогов. Для его вызова нажмите клавишуи, удерживая ее нажатой, найдите в…

  • Атрибуты файла или каталога

    Каждый файл или каталог имеют признаки, которые называются атрибутами. Это: — скрытый (Hidden) – файл, имя которого обычно не выводится на экран; -…