Копирование файлов и каталогов
Для копирования информации, представленной как в виде файлов, так и организованной в каталоги и подкаталоги, в DOS может использоваться несколько команд. Одна из наиболее часто используемых - COPY.Формат команды[9]:
COPY [путь\]ф1 [[путь\]ф2|путь] [/A|/B] [/V]
Параметры и ключи команды:
[путь\]ф1 - путь и имя (то есть полное имя) копируемого файла (то есть откуда и что копируется);
[путь\]ф2 -путь и имя (то есть полное имя) результирующего файла (то есть куда и под каким именем будет сохранено);
/A -текстовый файл;
/B- нетекстовый (бинарный, двоичный) файл;
/V- автоматическая проверка правильности копирования (верификация).
Приведенные в квадратных скобках значения параметров и ключей являются необязательными - путь обязательно указывается в том случае, если файл располагается не в активном каталоге, имя файла ф2следует указывать, если оно должно отличаться от оригинала. Символ | (логический знак "или") означает, что в структуре команды следует использовать лишь один из разделенных им элементов. Ключи /Aи /B рекомендуется использовать при необходимости копирования файлов с известной структурой для предотвращения возможности возникновения некоторых ошибок. При записи информации на ненадежный носитель (например, на дискету), иногда полезно проверять правильность копирования.
При копировании исходный файл сохраняется!
В команде можно использовать символы*и ?. Их применение позволяет обрабатывать сразу группы файлов. При этом использование символов замены при вводе имен файла-оригинала ф1позволяет выбирать сразу несколько файлов, их использование в имени файла-копии ф2указывает, что соответствующие символы в именах вновь создаваемых файлов не изменяются. Например,
COPY xxxx.doc xxx.txt- копирование файла с именем xxxx.doc, расположенного в текущем каталоге, под именем xxx.txt.
COPY A:\ *.* - копирование всех файлов из корневого каталога дискеты, расположенной в дисководе А:, в текущий каталог.
COPY \t .doc c:*.txt - копирование всех файлов с расширением .doc из каталога \tтекущего диска в текущий каталог жесткого дискаС:.
COPY 1a\2a1\1file.com 1b\2b1\5b2- результат копирования в этом примере зависит от последнего имени - 5b2.Если это имя реально существующего каталога, то в него будет скопирован файл 1file.com. Иначе в каталоге 2b1 будет размещен файл с наименованием 5b2, который будет являться копией файла 1file.com.
Команда COPY позволяет объединять файлы. Например,
COPY 1.txt + 2.txt + A:\1\3.txt A:\4.txt
Результатом копирования является объединение файлов 1.txtи 2.txt , расположенных в текущем каталоге активного диска, а также 3.txt,расположенного на дискете в каталоге 1, в новый результирующий файл под названием 4.txt, располагающийся в корневом каталоге дискеты А:.
Если имя результирующего файла не указано, объединенный файл будет носить имя первого файла из списка - 1.txt
С помощью метасимволов *и ? можно объединять сразу целые группы файлов.
В команде COPY вместо имен файлов можно использовать обозначения устройств, например:
CON- "консоль" - клавиатура для ввода, монитор для вывода. При вводе текста с клавиатуры конец файла должен быть обозначен служебным символом, вводимым как комбинация клавиш CTRL+F6 (то есть одновременным нажатием указанных двух клавиш)
PRN- принтер (только как выходной файл) - позволяет распечатать содержимое входного файла.
AUX- модем - позволяет передать содержимое файла на устройство коммуникации.
Например:
COPY CON 234.txt - создание текстового файла с именем 234.txt, расположенного в текущем каталоге, содержимое которого вводится с клавиатуры.
COPY 234.txt CON- вывод содержимого файла с именем 234.txtна экран монитора.
Поскольку достаточно часто возникает необходимость копирования не просто файлов, а целых каталогов, возможно, с вложенными подкаталогами, несомненный практический интерес имеет команда расширенного копирования - XCOPY.
Формат команды, включающей некоторые часто используемые ключи, приведен ниже.
[путь\]XCOPY [путь\]ф1 [[путь\]ф2|путь] [/A][/D:][/E][/M][/P][/S][/V] [/W]
XCOPY - внешняя команда, поэтому следует указывать в явном или неявном виде каталог местоположения файла команды на диске: [путь\]XCOPY.Обычно файлы команд располагаются в каталоге, путь к которому указывается, как
C:\WINDOWS\COMMAND\Этот путь обычно следует указывать, если следует выполнять некоторые внешние команды.
[путь\]ф1 - путь и имя (то есть полное имя) копируемого файла (то есть откуда и что копируется); в отличие от команды COPY данная команда не поддерживает копирование на стандартные устройства (CON, PRN и т.п.).
[путь\]ф2 -путь и имя (то есть полное имя) результирующего файла (то есть куда и под каким именем будет сохранен файл). В отличие от команды COPY,данная команда способна создавать каталоги при их изначальном отсутствии.
/A -ключ, разрешающий копирование только файлов с признаком (атрибутом) А - архивный. После копирования атрибут файла сохраняется.
/D: дата -копируются файлы, дата создания или модификации отличается от заданной в команде в ближнюю сторону.
/S- копируются все файлы заданного каталога и все подкаталоги этого каталога. Пустые подкаталоги не создаются. При отсутствии ключа подкаталоги не копируются.
/Е - копируются все подкаталоги, даже если они пустые. Режим работает только совместно с ключом /S.
/M - ключ, разрешающий копирование только файлов с признаком (атрибутом) А - архивный. После копирования атрибут файла сбрасывается, файл перестает быть архивным.
/P - файлы копируются только после получения подтверждения Y (копировать) / N (не копировать).
/V- автоматическая проверка правильности копирования (верификация).
/W - перед выполнением команды дается пауза для установки дискеты.
Отметим, что полный перечень ключей может быть получен с использованием известного ключа /?.