- Подробности
-
Раздел: Windows
-
Категория: Командная строка.
В прошлом уроке мы рассмотрели команду COPY, предназначенную для копирования одного или нескольких файлов. Эта команда имеет ряд недостатков. Например, с ее помощью нельзя скопировать системные и скрытые файлы. Команда COPY копирует файлы, но не может копировать каталоги. Для подобных целей была придумана команда XCOPY, которая выполняет те же функции, что и команда COPY, и имеет ряд дополнительных функций.
Команда имеет синтаксис: XCOPY источник [целевой_объект] [/A | /M] [/D[:дата]] [/P] [/S [/E]] [/V] [/W][/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U][/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B][/EXCLUDE:файл1[+файл2][+файл3]...]. Как видите здесь присутствует множество различных параметров и ключей. Попробуем разобрать их.
Команда XCOPY может определять режим копирования для файлов с установленным архивным атрибутом. Посмотреть, установлен или нет архивный атрибут можно в свойствах файла. Если команда XCOPY используется с ключом /A, то копироваться будут файлы с установленным архивным атрибутом. Для примера, создадим на диске «С» папку «papka2» и поместим в нее несколько текстовых файлов. У одного из этих файлов снимем архивный атрибут через свойства файла. Тогда команда xcopy papka2 d:\ /a скопирует только те файлы, у которых архивный атрибут установлен. В моем примере я поместил в папку «papka2» 3 текстовых файла: «file1.txt», «file2.txt», «file3.txt». У файла «file1.txt» я снял архивный атрибут. В результате, этот файл не скопировался на диск «D».
Если у команды XCOPY установлен ключ /M, то копироваться будут файлы с установленным архивным атрибутом, при этом, у исходных файлов архивный атрибут будет сброшен. Например, команда xcopy papka2 d:\ /m скопирует из папки «papka2» все файлы с установленным архивным атрибутом и поместит их на диск «D». Причем у исходных файлов будет сброшен архивный атрибут.
Ключ /D:MM-DD-YY позволяет копировать файлы с указанной или более поздней датой. Например, пусть в папке «papka» находится несколько файлов, причем один из этих файлов имеет последнюю дату изменения 24 апреля 2012, а остальные файлы 22 апреля 2012. Тогда команда xcopy papka d:\ /D:04-23-2012 скопирует только тот файл, который имеет дату изменения 23 апреля 2012 либо более позднюю дату. Обратите внимание на формат записи даты: сначала указывается месяц, потом число, потом год.
Если ключ /D не имеет параметр «дата», то копироваться будут файлы, которые были изменены со времени последнего копирования, либо новые файлы, созданные после последнего копирования. Например, пусть в папке «papka» находится несколько файлов. Скопируем их на диск «D»
Теперь откроем один из исходных файлов (в каталоге «papka» на диске «C») и изменим его (напишем какой-нибудь текст и сохраним). Тогда команда xcopy papka d:\ /d скопирует только этот измененный файл. В моем случае я сделал изменения в файле «file.txt». В результате, только этот файл скопировался, остальные 4 файла не копировались.
Ключ /S команды XCOPY позволяет копировать все непустые подкаталоги из каталога-источника. Для примера, создадим на диске «C» каталог «MyFolder1», в этом каталоге создадим еще 2 каталога: «MyFolder2» и «MyFolder3», в каталоге «MyFolder2» создадим текстовый файл «file1.txt». Все это можно сделать средствами командной строки, зная те команды, которые мы уже изучили. Каталоги создаем с помощью команды MD (MKDIR), а текстовый файл создаем с помощью команды COPY с параметром CON.
Теперь скопируем непустые каталоги из каталога «MyFolder1» на диск «D»: xcopy myfolder1 d:\ /s
В результате, на диск «D» будет скопирована одна папка «MyFolder2» из папки «MyFolder1», а папка «MyFolder3» не будет скопирована, т.к. она пустая.
Ключ /E команды XCOPY применяется в случаях, когда необходимо скопировать все подкаталоги из текущего каталога (в том числе и пустые подкаталоги). Для примера, запишем предыдущую команду, заменив ключ /S на ключ /E
В результате, на диск «D» будут скопированы обе папки «MyFolder2» и «MyFolder3». Обратите внимание, что приведенные выше команды копируют только подкаталоги. Сам текущий каталог («MyFolder1») не копируется.
Ключ /P команды XCOPY выводит запрос с подтверждением при создании нового файла при копировании. Например, создадим на диске «С» файл «f3.txt» и скопируем его на диск «D»: xcopy f3.txt d:\ /p
Ключ /W команды XCOPY перед копированием выводит на экран сообщение «Нажмите любую клавишу, чтобы начать копирование файлов». Перепишем предыдущую команду, заменив ключ /P на ключ /W: xcopy f3.txt d:\ /w