MS DOS (664434), страница 2
Текст из файла (страница 2)
Символы подстановки в именах файлов :
Когда необходимо произвести какие-либо действия над файлами, пользователь вызывает определенные внутренние или внешние команды MS DOS и “передает” им,в качестве параметров, имена файлов. Очень часто приходится производить одни и те же действия над многими файлами. Например, необходимо скопировать ВСЕ файлы какого-либо каталога в другой каталог. Если файлов больше 200, то ровно 200 раз необходимо произвести эту операцию для каждого файла в отдельности. Это как минимум, слегка огорчает Пользователя. Для решения такого рода проблем существуют спец.средства, которые помогают производить однотипные операции над целой группой файлов за один “заход”.
Так называемые символы подстановки позволяют “фильтровать” файлы, используя их имена. К ним относятся символы : ? и * . Эти символы можно использовать в любом месте собственно имени
файла(имени и расширении). Символ ? означает, что команда(при фильтрации файлов) “признает”
любой символ в имени или расширении файла, в позиции которого находится символ ?.
Символ * означает, что команда(при фильтрации файлов) “признает” все символы, в имени или расширении файла, начиная с позиции, где находится символ *. Символы ? и * действуют не зависимо друг от друга применительно к имени или расширению.
Примеры :
ВЫПОЛНИТЬ ОПЕРАЦИЮ НАД СЛЕДУЮЩИМИ ГРУППАМИ ФАЙЛОВ :
*.* - все файлы, без исключения,
*.txt - файлы с любыми именами, но с расширением .txt,
II*.* - файлы, имена которых начинаются с цепочки символов II и имеющие любое расширение,
YE??0198.* - файлы, имена которых начинаются с цепочки символов YE, два следующих символа НЕ имеют значение, следующие четыре символа должны быть 0198, расширение НЕ имеет значение(применительно к расчетному отделу : все результаты расчетов по работнику
с табельным номером 0198).
Атрибуты файлов :
Каждый Файл(Каталог) имеет атрибут, который указывает на то,
что этот файл является именно файлом; или на то, что он является
Каталогом.
Файлы, в зависимости от атрибута, могут быть скрытыми, архивными
системными, только для чтения.(Скрытые файлы MS DOS “не видит”).
8. КОМАНДЫ ПОДДЕРЖКИ ФАЙЛОВ
Для работы с файловой системой в DOS имеются несколько
встроенных команд:
COPY, REN, DEL, TYPE, DIR,
MKDIR или MD,
CHDIR или CD
RMDIR или RD
8.1. Копирование файлов - команда COPY
Команда COPY имеет один или два основных аргумента и еще может сопровождаться специальным указателем верификации. Основной формат команды предполагает задание источника, то есть указания места, откуда нужно копировать (1-й аргумент), и назначения, то есть указания места, куда нужно копировать (2-й аргумент). В качестве источника может указываться любой маршрут, имя файла или шаблон имен. При этом, в зависимости от задания, копируется все содержимое текущего или указанного каталога, группа файлов или отдельный файл. В качестве назначения чаще всего задается лишь маршрут, который указывает, в какой каталог нужно перенести копируемые файлы. При этом имена копируемых файлов остаются прежними.
Команда COPY имеет три формата.
Формат1:
Копирование без изменения имени.
COPY [/A][/B][н:][маршрут]имя_файла[.тип][н:][маршрут][/V]
Файл копируется на другой накопитель и/или в другой каталог
под тем же именем.
C:\>copy a:*.* c:
Копирование всех файлов с диска A: в текущий каталог диска C: .
C:\>copy \work \DOS
Копирование всех файлов каталога WORK в каталог DOS.
C:\>copy \doc\abc \
Копирование всех файлов каталога ABC в корневой.
Формат2:
Копирование с переименованием.
COPY [/A][/B][н:][маршрут]имя_файла[.тип]
[/A][/B][н:][маршрут]имя_файла[.тип][/A][/B][/V]
Файл при копировании получает новое имя.
C:\>copy pr1 pr2
Файл с именем PR1 копируется в том же каталоге и приобретает имя PR2.
C:\>copy \work\*.txt \doc\*.doc
При переносе файлов из WORK в DOC произойдет изменение их типов с TXT на DOC.
Формат3:
Копирование с соединением файлов.
COPY [/A][/B][н:][маршрут]имя_файла[.тип][/A][/B]
[+[н:][маршрут]имя_файла[.тип][/A][/B]...]
[н:][маршрут][имя_файла[.тип]][/A][/B][/V]
Параметры A,B,V обозначают:
V - устанавливает режим проверки записи на диск;
A - определяет текстовые файлы;
B - определяет двоичные файлы.
C:\> copy pr1+pr2+pr3 pr4
Файл с именем PR4 образуется путем конкатенации файлов PR1, PR2 и PR3 .
Если результирующий файл не указывать, то соединенные файлы будут записаны в файл, имя которого задано первым (в вышеприведенном примере - в файл PR1).
Команда COPY имеет еще одно применение, кроме копирования файлов из одного каталога в другой. Дело в том, что все подключенные к машине внешние устройства имеют условные имена. Некоторые имена зарезервированы за стандартными устройствами:
PRN - основной (1-й) принтер;
LPT1 - другое имя для основного принтера;
LPT2 - дополнительный (2-й) принтер;
AUX - основной (1-й) коммуникационный канал;
COM1 - другое имя 1-го коммуникационного канала;
COM2 - дополнительный (2-й) коммуникационный канал;
CON - "консоль", то есть дисплей + клавиатура;
NUL - "пустое устройство", используемое при отладке.
Для обмена информацией с устройствами может применяться команда COPY. При этом вместо указания маршрута и имени файла в качестве источника или, чаще, назначения указывается имя устройства.
Примеры:
C:\>copy docum.doc prn
Файл с именем docum.doc копируется на устройство PRN, то есть на принтер.
C:\>copy con t.bat
Файл с именем T.BAT создается в результате копирования с устройства CON, то есть путем ввода текста с клавиатуры (вводимый текст должен заканчиваться признаком конца, который возникает при одновременном нажатии клавиш ).
8.2. Переименование файла - команда RENAME (REN)
Спецификация команды:
REN[AME] [н:][маршрут]имя_файла[.тип] имя_файла[.тип]
Первый аргумент задаёт старое имя файла, второй - новое.
Первому аргументу может предшествовать префикс-маршрут, указывающий, в каком каталоге производится переименование. По умолчанию переименование происходит в текущем каталолге.
Примеры:
C:\WORK>ren a:*.txt *.doc
Происходит изменение типов файлов.
C:\>ren pr1.asm pr2.asm
Замена имени файла PR1 на PR2. Команда RENAME не затрагивает самих файлов.
8.3. Удаление файла - команда DEL.
Спецификация команды:
DEL [н:][маршрут][имя_файла[.тип]]
Если имя_файла не задано, то подразумевается удаление всех файлов из указанного или текущего каталога. В этом случае (а также в случае, когда указан шаблон *.*) запрашивается подтверждение на выполнение операции.
Аргумент команды DEL может содержать маршрут, конкретное имя удаляемого файла или шаблон имен.
C:\>del \work\*.txt
В каталоге WORK удаляются все файлы, имеющие тип TXT.
C:\>del work
Удалены все файлы подкаталога WORK (если только в текущем каталоге нет обычного файла с именем WORK).
Система, прежде чем приступить к удалению, задает пользователю предупредительный вопрос - "уверен ли он, что все нужно удалять?". Ответ пользователя "да" (буква Y) сигнализирует об уверенности пользователя и операция удаления выполняется. Ответ
"нет" (буква N) отменяет операцию. При удалении происходит "вычеркивание" ссылок на удаляемые файлы из соответствующего каталога. Содержимое файлов не разрушается и их еще можно "восстановить" с помощью специальных служебных программ. Если же вслед за удалением на данном диске создаются новые файлы, то не исключено, что они будут записаны на место удаленных файлов. После этого восстановление удаленных файлов уже невозможно.
8.4. Вывод содержимого файла на экран - команда TYPE
Спецификация команды:
TYPE [н:][маршрут]имя_файла[.тип]
В имени файла символы * и ? не допускаются.
Команда TYPE используется для вывода содержимого файла на экран. Имени может предшествоать префикс, указывающий местонахождение файла. Разумеется, с помощью команды TYPE на экране можно увидеть осмысленный текст лишь в том случае, если в файле
содержится информация, закодированная в соответствии со стандартом ASCII или его модификацией. Каждый байт хранимой информации должен представлять собой букву, цифру или знак, представимые на экране.
Примеры :
C:\>type prog1.asm
C:\>type \work\docum.txt
8.5. Вывод каталога на дисплей - команда DIR
Спецификация команды:
DIR [н:][имя_файла[.тип]][/P][/W]
Команда выдаёт информацию об элементах каталога (файлах и подкаталогах) - их имена, расширения, длину в байтах (для файлов), признак подкаталога (для подкаталогов), время и дату создания, а также метку диска и объём свободного пространства на нём в байтах.
Параметр /P задаёт "постраничную" выдачу каталога размером с экран.
Параметр /W служит для компактной выдачи каталога.
Простейшее использование команды DIR без параметров приводит к выводу на экран текущего каталога. Изображение на экране приобретает, например, такой вид:
C:\>dir
Volume in drive C is TOM1
Directory of C:\
CONFIG SYS 118 6-03-88 11:42p
AUTOEXEC BAT 994 7-20-88 12:59p
COMMAND COM 22042 8-14-88 8:00p
SYS 5-19-88 2:19p
EXE 2-25-88 4:44p
ABC 5-29-88 9:47a
DOC 4-30-88 9:43a
WORK 1-20-88 4:44a
8 File(s) 65344 bytes free
Выведенный на экран текст говорит о следующем:
- диск C: имеет метку TOM1;
- в корневом каталоге зарегистрированы 3 обычных файла (CONFIG.SYS, AUTOEXEC.BAT и COMMAND.COM) и 5 подчиненных каталогов.
- все файлы вместе взятые занимают на диске около 300
- все файлы вместе взятые занимают на диске около 300
Кбайт. Это следует из того, что полный обьем диска - 360 Кбайт, а свободными остались чуть больше 65 Кбайт.
Для просмотра подкаталога DOC достаточно задать команду DIR с параметром - именем подкаталога:
C:\>dir doc
В этом подкаталоге в начале выданной таблицы появились 2 строчки особого вида:
. 4-30-88 9:43a
.. 4-30-88 9:43a
Эти строчки указывают, что выданный каталог является подчиненным, при этом указаны дата и время его создания.
Параметром команды DIR может быть любой маршрут, указывающий на корневой или на подчиненный каталог любого уровня, расположенный на любом диске. Рассмотрим несколько примеров:
C:\>dir doc\abc
Данная команда обеспечит выдачу подкаталога ABC, входящего в DOC.
C:\DOC\ABC>dir \work
Здесь текущим является подкаталог второго уровня DOC\ABC, но маршрут говорит о необходимости выдать каталог WORK, начав поиск от корневого каталога.
C:\WORK>dir \
Данная команда требует выдачи корневого каталога диска C:.
A:\>dir c:\
Здесь текущим является корневой каталог диска A:, но маршрут указывает на корневой каталог диска C:.
Таким образом, на какой бы текущий каталог ни была настроена система, пользователь имеет возможность просмотреть любой интересующий его каталог файлов, задавая в качестве параметра команды DIR соответствующий маршрут.
Кроме указания маршрута, параметр команды DIR часто содержит шаблон имен файлов, что позволяет выделить определенную группу файлов.
Пример:
Выделить из подкаталога DOC файлы типа TXT. Можно задать команду DIR с шаблоном *.TXT. Команда имеют вид:
C:\>dir doc\*.txt
Шаблон можно указывать и без префикса-маршрута; тогда происходит выделение группы файлов в текущем каталоге.
Команда DIR в любых ее разновидностях не изменяет каталогов, она лишь выдает их содержимое.
Часто бывает, что экрана "не хватает" для отображения всех строчек каталога. Чтобы иметь возможность внимательно просмотреть все строки, можно дать в конце текста команды специальный указатель /P. В этом случае после выдачи первых 23 строчек каталога система прервет выдачу и будет ждать, пока пользователь не нажмет любую клавишу.
Еще один способ выдачи обеспечивается указателем /W. При его задании система выдает лишь имена и типы файлов, без остальных атрибутов. При этом выдача происходит не в столбец, а по строкам. Благодаря такому способу на экране помещается гораздо
больше имен файлов, чем при обычном формате, хотя читать их менее удобно.
Примеры команд с указателями:
C:\>dir /p
C:\>dir doc\abc /w
8.6. Создание нового каталога - команд MKDIR (MD)
Спецификация команды:
MD [н:]маршрут / MKDIR [н:]маршрут
Создание нового подкаталога может быть произведено в любом текущем каталоге.
Например, в текущем подкаталоге WORK необходимо создать подкаталог PRO.
Применим команду MD для создания в WORK подкаталога PRO:
C:\WORK>md pro
После этого в каталоге WORK появится новая строка вида:















