Переименование и удаление файлов

Используется команда RENAME или сокращенно - REN. Однако имена подкаталогов внутри каталога этой командой переименовать нельзя. Эта простая и довольно часто используемая команда является внутренней командой MS DOS, то есть она включена в системный файл COMMAND.COM и всегда резидентно присутствует в памяти компьютера. Формат команды:

REN<пробел><полное имя файла><пробел><имя файла>

REN<пробел><имя файла><пробел><имя файла>

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

Например:

REN 123.txt 234.txt - текстовый файл с именем 123.txt, расположенный в текущем каталоге, переименовывается в файл с именем 234.txt.

В отличие от команд копирования файл с оригинальным именем не остается, копия файла располагается в той же директории, что и оригинал.

Для удаления файлов применяется командаDEL[10]. В качестве параметра команды используется имя файла, возможно - с указанием его полного пути, допускается применение метасимволов для удаления групп файлов, в качестве полезного ключа можно рекомендовать /Р.В данном случае будет обязательно делаться запрос на удаление каждого файла. Формат команды:

DEL<пробел><полное имя файла>[<ключ>]

DEL<пробел><имя файла>[<ключ>]

Для удаления пустых каталогов применяется команда RD[11]. В качестве параметра команды используется имя каталога, возможно - с указанием его полного пути. Формат команды:

RD <пробел><полное имя каталога>

RD <пробел><имя каталога>

Для одновременного удаления файлов и каталогов используется команда

DELTREE <пробел><полное имя каталога>

Просмотр файлов

Обычно результат выполнения команды выводится на экран. В целом ряде случаев оказывается необходимым просмотреть на экране также и содержимое конкретного файла. Вы уже знаете одну из команд вывода текста на экран - разновидность команды COPYвместе с именем устройства, на которое следует производить вывод.

Для более комфортного просмотра целесообразно пользоваться командой TYPE в следующем формате:

TYPE<пробел><полное имя файла>[|more]

TYPE<пробел><имя файла>[|more]

Здесь |more - команда, расширяющая функции команды печати, позволяющая обеспечить поэкранный вывод информации.

Задание

1. Создайте в корневой папке диска D: каталог с именем АВС.

2. В каталоге АВС с помощью команду COPY CON создайте файл с именем BCD.ААА, в котором введите текст о себе (10 – 15 предложений).

3. С помощью команды TYPE просмотрите содержимое своего файла.

4. Перейдите в каталог С:\WINDOWS\COMMAND, в котором обычно располагается файл EDIT.COM, и запустите редактор (если файла там нет, определите его местонахождение средствами Windows). Воспользовавшись подсказками в меню редактора, откройте свой файл, созданный в п.2. Для активизации пунктов меню используйте клавишу ALT и стрелки курсора. Внизу экрана редактора появляются подсказки по использованию других клавиш, доступных при выполнении той или иной операции.

5. Просмотрите содержимое своего файла, воспользовавшись для перемещения по тексту командами перемещения курсора.

6. Найдите в тексте все вхождения знака препинания «,» (воспользуйтесь командой поиска текста).

7. Замените все запятые на !!! (воспользуйтесь командой замены текста).

8. Скопируйте в буфер первые 3 строки файла и переместите их в конец файла.

9. Измените цвета оформления редактора по своему выбору.

10. Создайте в корневой папке диска D: каталог с именем CDE и скопируйте в него свой файл из каталога ABC. Переименуйте файл в новом каталоге, присвоив ему имя DEF.ABC.

11. Сформируйте команду для слияния двух файлов - AUTOEXEC.BAT и CONFIG.SYS, расположенных в корневом каталоге диска С:. Задайте имя результирующего файла как CONCAT.TXT. Разместите этот файл в каталоге CDE.

12. Создайте в корневом каталоге диска С: каталог с именем EFG. Сформируйте и выполните команду для копирования всех файлов каталога TEMP с их оригинальными именами в данный каталог.

13. Переименуйте свой каталог из п. 12. Выберите новое имя произвольно.

14. Покажите результат преподавателю.

15. Полностью удалите свои каталоги на диске D:.

 


Лабораторная работа 3. Пакетные файлы ОС MS DOS[12]

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

Среди команд, обычно включаемых в пакетные файлы, помимо тех, которые рассмотрены в предыдущих работах, часто встречается команда PATH(путь), позволяющая автоматически находить необходимые программы в лабиринте каталогов, не указывая полный путь. Для этого необходимо, чтобы программа (вернее, путь к ней из корневого каталога) была описана в команде PATH,которая имеет формат:

PATH <полное имя каталога>;…<полное имя каталога>;

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

На практике пакетные файлы используются для автоматизации регулярного выполнения последовательностей одних и тех же команд. Такие файлы особенно хороши, если команды достаточно сложные, с непростым синтаксисом. Например, можно написать пакетный файл для выполнения операций, перечисленных в предыдущих лабораторных работах. Если, указав имя пакетного файла, содержащего перечень предусмотренных заданием команд, вы нажмете клавишу ENTER, операционная система будет стремиться выполнить его так же, как она выполняет командные файлы типа *.COM и *.EXE.

Существует еще целый ряд команд, облегчающих работу с файлами и каталогами. К их числу относятся такие, как ECHO, PAUSE, REM. Изучите самостоятельно их назначение и формат, использовав в команде параметр /?.

Запуск командного файла осуществляется аналогично любому исполнительному файлу:

<полное имя командного файла>

<имя командного файла>

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

Формальные параметры

В пакетном файле могут использоваться формальные параметры, играющие роль переменных по аналогии с любым языком программирования. Такие параметры в теле пакетного файла обозначаются как %<цифра>, например, %1, %3, %9.

Тогда в теле пакетного файла возможна команда, например, MD %1. Она означает создание каталога, полное имя (или простое имя) которого указано как формальный параметр. В таком виде команда не может быть выполнена. Для ее реализации во время выполнения командного файла в момент его запуска в качестве фактического параметра должно быть указано полное или простое имя каталога. Так, если командный файл имеет имя Q.BAT и мы хотим создать в корневом каталоге дискеты каталог FFF, то команда запуска этого файла будет иметь вид:

Q.BAT A:\FFF

или

Q.BAT FFF

В первом случае команда выполняется верно при любом значении текущего диска и каталога, который установлен к моменту ее выполнения. Во втором случае задача пользователя – следить за тем, чтобы к моменту исполнения данной команды текущий диск и каталог были установлены как требуется, т.е. диск – это дискета, а каталог – корневой. Очевидно, первая форма записи команды запуска пакетного файла предпочтительнее.

В команде запуска пакетного файла можно указывать несколько фактических параметров, если в теле файла используются несколько формальных параметров (до 9). Тогда соответствие между ними осуществляется по занимаемой позицией. Так, например, если пакетный файл Q.BAT содержит команды:

MD %1

MD %1\%2

то его запуск в виде

Q.BAT A:\FFF RRR

означает, что формальный параметр %1примет значение A:\FFF, а формальный параметр %2 – значение RRR. Таким образом, автоматическая подстановка фактических значений вместо формальных при выполнении файла дает следующую последовательность команд:

MD A:\FFF

MD A:\FFF\RRR

Развитые командные файлы

Также как и при написании обычных программ, в командном файле можно управлять интерпретацией команд. К командам, позволяющим выполнять подобные действия, относятся команды GOTO, IF, FOR, SHIFT.

1. Команда GOTO позволяет передавать управление на метку, которая записывается как обязательное двоеточие в начале строки и произвольный текст.

Например, пусть командный файл C.BAT имеет вид[13]:

:M1

COPY %1 PRN

PAUSE

GOTO M1

Здесь первая строка содержит метку :М1, а последняя – команду перехода к этой метке. Сам командный файл решает задачу печати (команда COPY %1 PRN) произвольного файла, полное имя которого задано в виде формального параметра. Команда PAUSE приостанавливает исполнение командного файла, которое может возобновиться при нажатии пользователем клавиши Enter. Чтобы прервать исполнение данного файла, следует ввести команду Ctrl+C.

Пусть файл C.BAT запускается командой

C.BAT A:\MY.TXT

Это означает, что начнется вывод на принтер содержимого файла MY.TXT, находящегося в корневом каталоге дискеты (A:\). Поскольку действие по выводу зациклено, печать этого файла будет выполняться сколь угодное число раз.

2. Команда IFпозволяет проверять условие и выполнять команду в зависимости от результата проверки. В качестве условия может, в частности, использоваться:

· проверка наличия файла в каталоге: команда проверяет, есть ли файл с заданным именем в указанном (если применяется полное имя файла) или текущем (если используется простое имя файла) каталоге. При обнаружении файла условие считается выполненным, и управление передается команде, записанной в той же строке. Для этого в операторе IF используется конструкция вида:

IF EXIST <имя файла или полное имя файла>

· сравнение двух строк, которые также могут задаваться через формальные параметры. Соответствующая конструкция может иметь вид:

IF %<N>==<текстовая строка>

Здесь значение формального параметра %1<N> сопоставляется с конкретной строкой. При абсолютном совпадении двух строк условие считается выполненным.

Любое из условий может записываться со знаком логического отрицания NOT. Отрицание условия считается выполненным, если само условие не выполнено.

Например, пусть в общедоступном каталоге есть некоторая прикладная программа с именем NOTES.EXE, которая выполняет работу с картотекой (файл TELEF в каталоге TEL), записной книжкой (файл PAPERS в каталоге PAPERS) или адресной книжкой (файл PERSON в каталоге ADMIN). Пользователю требуется периодически вызывать программу NOTES.EXE, задавая каждый раз имена файлов и каталогов для просмотра нужной информации. Для сокращения работы целесообразно создать командный файл, например, с именем N.BAT, при запуске которого одним символом указывается лишь, к просмотру какой информации следует перейти. Формат этого файла:

IF %1. ==. GOTO EXIT

IF %1 ==t GOTO TEL

IF %1 ==p GOTO PAP

IF %1 ==s GOTO PERS

GOTO EXIT

:TEL

CD \TEL

NOTES TELEF

GOTO EXIT

:PAP

CD \PAPERS

NOTES PAPERS

GOTO EXIT

:PERS

CD \ADMIN

NOTES PERSON

:EXIT

Здесь первый оператор IF предназначен для выявления того случая, когда не введен ни один символ.

3. Команда FOR обеспечивает циклическое выполнение команд MS DOS. При этом можно задать параметр цикла и список параметров, которые последовательно подставляются вместо параметра цикла в текст исполняемой команды. Формат команды:

FOR %%<латинская буква> IN ( <множество параметров>) DO <команда MS DOS>

Здесь %%<латинская буква> -обозначение параметра цикла (по аналогии с языками программирования), например, %%A или %%X; <множество параметров>- перечисленные через пробел фактические или формальные параметры. При выполнении команды FOR параметр цикла принимает последовательные значения из множества значений, заданных в скобках, и с каждым значением выполняется <команда MS DOS>.

Например, если необходимо последовательно выводить на печать несколько файлов, имена которых известны заранее (пусть это файлы ABC.TXT, DFG.TXT, RTY.TXT), которые находятся в текущем каталоге, то в командном файле целесообразно поместить команду:

FOR %%А IN (ABC.TXT DFG.TXT RTY.TXT) DO COPY %%А PRN

Если же имена файлов неизвестны, но известно, что их не более девяти, то команда примет вид:

FOR %%А IN (%1 %2 %3 %4 %5 %6 %7 %8 %9) DO COPY %%А PRN

При запуске командного файла вводятся нужные имена, которые присваиваются формальным параметрам из списка %1 - %9. Если файлов меньше девяти, ошибки не происходит.

4. Команда SHIFTвызывает сдвиг списка формальных параметров относительно списка фактических параметров. Так, если в командном файле фигурируют формальные параметры %1 и %2, а при запуске командного файла – фактические параметры A, B, C, D, то сначала соответствие формальных и фактических параметров выглядит следующим образом: %1 = A, %2 = B. Однократное применение команды SHIFT дает следующее соответствие: %1 = B, %2 = C. Двукратное применение вызывает дальнейший сдвиг: %1 = C, %2 = D.

Например, пусть необходимо последовательно выводить на печать файлы, имена которых пользователь будет последовательно вводить с терминала. Для этого командный файл Q.BAT может иметь вид:

:LOOP

COPY %1 PRN

SHIFT

GOTO LOOP

Если при запуске данного файла ввести имена файлов в произвольном количестве, например,

Q.BAT f1 f2 f3 f4

то будет происходить последовательное присваивание формальному параметру %1 значений из списка имен файлов и циклическое исполнение команд SHIFT и COPY. После окончания списка параметров возникнет ошибочная ситуация. Тогда пользователь может прервать исполнение файла клавишами Ctrl+C.

Задание

Напишите текст пакетного файла в соответствии с индивидуальным заданием, получив его от преподавателя. Выполните отладку файла и результат покажите преподавателю.

 

Лабораторная работа 4. Работа с интегрированной оболочкой Far[14]

 

В настоящее время широкое распространение получили программы-оболочки, которые позволяют в полноэкранном режиме выполнять наиболее часто используемые операции при работе с информационными элементами компьютера - просматривать содержимое каталогов на дисках, переходить с одного каталога на другой, копировать, перемещать и удалять файлы, запускать программы и т.д. В настоящее время существует большое число подобных программ, однако стандартом является программа Norton Commander, многие черты которой унаследовали такие оболочки, как Volkov Commander, DOS Navigator, FAR.