Копирование файлов и каталогов

Для копирования информации, представленной как в виде файлов, так и организованной в каталоги и подкаталоги, в 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 - перед выполнением команды дается пауза для установки дискеты.

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