Xcopy

Xcopy

Копирует файлы и каталоги, включая подкаталоги.

Описание команды xcopy, параметры, примеры использования.

Синтаксис

xcopy источник [результат]  [/w]  [ /p]  [/c]  [/v]  [/q]  [/f]  [ /l]  [/g]  [/d[:мм-дд-гггг]]  [ /u]  [/i]  [/s [/e]]  [/t]  [ /k]  [/r]  [/h]  [{/a|/m}]  [ /n]  [/o
[/x]  [/exclude:файл1[ +[файл2]][+[файл3]]  [{/y|/-y}]  [ /z]

Параметры

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

Нажмите любую клавишу, чтобы начать копирование файлов

/p
Запрашивает подтверждение при создании каждого файла-результата.
/c
Игнорирует ошибки.
/v
Проверяет каждый скопированный файл на соответствие его оригиналу.
/q
Отменяет вывод на экран сообщений команды xcopy.
/f
Выводит имена исходных файлов и файлов-результатов в процессе копирования.
/l
Отображает список копируемых файлов.
/g
Создает незашифрованные файлы-результаты.
/d[:мм-дд-гггг]
Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
/u
Копирует (обновляет) только те файлы-источники, которые уже существуют в каталоге результата.
/i
Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.
/s
Копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.
/e
Копирует все подкаталоги, включая пустые. Параметр /e используется с параметрами /s и /t.
/t
Копирует только структуру подкаталога (т. е. дерево), а не файлы. Для копирования пустых каталогов следует задать ключ /e.
/k
Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут. По умолчанию команда xcopy удаляет атрибут «только для чтения».
/r
Копирует файлы с атрибутом «только для чтения».
/h
Копирует системные и скрытые файлы. По умолчанию команда xcopy не копирует системные и скрытые файлы.
/a
Копирует только те файлы, которые имеют установленный атрибут «архивный». При использовании параметра /a атрибут "архивный" у исходных файлов не меняется. Сведения об установке атрибутов с помощью команды attrib.
/m
Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов. Сведения об установке атрибутов с помощью команды attrib.
/n
Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS.
/o
Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL).
/x
Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL) (подразумевается наличие /p).
/exclude:файл1[+[файл2]][+[файл3]]
Определяет список файлов, содержащих строки.
/y
Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
/-y
Выдает запрос на подтверждение перезаписи существующего конечного файла.
/z
Копирует по сети в режиме перезапуска.
/?
Отображает справку в командной строке.

Примечания

  • Использование параметра /v

    Начиная с Windows XP эта команда не используется. Она предназначена для обеспечения совместимости с файлами MS-DOS

  • Использование параметра /exclude

    Построчный вывод всех строк в каждом файле. При соответствии выведенной строки части пути копируемого файла, он исключается из процесса копирования. Например, если указана строка «\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», исключается все файлы с расширением .obj.

  • Использование параметра /z

    Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла.

  • Использование параметра /y в переменной среде COPYCMD.

    Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть переопределена использованием параметра /-y в командной строке. По умолчанию если команда copy выполняется не в пакетной программе, при замене требуется подтверждение.

  • Копирование зашифрованных файлов

    При копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS), возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том, поддерживающий EFS.

  • Добавление файлов

    Чтобы объединить файлы, укажите один файл-результат, но несколько файлов-источников (с помощью подстановочных знаков или формата файл1+файл2+файл3).

  • Значение по умолчанию для результата

    Если параметр результат не задан, xcopy будет копировать файлы в текущий каталог.

  • Указание в качестве результата файла или каталога

    Если параметр результат не содержит существующий каталок или не заканчивается обратной чертой(\), выводится следующее сообщение:

    Что означает destination:
    имя файла или каталога
    (F = файл, D = каталог)?

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

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

  • Использование команды xcopy для установки атрибута «архивный» для файлов результата

    Команда xcopy создает файлы с установленным атрибутом «архивный», независимо от состояния этого атрибута у исходных файлов. Для получения дополнительных сведений об атрибутах файлов команде attrib.

  • Сравнение команд xcopy и diskcopy

    Команда xcopy должна быть использована вместо diskcopy при копировании файлов и подкаталогов на диск другого формата. Так как команда diskcopy копирует диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый формат. Для команды xcopy это требование не нужно. Обычно следует использовать команду xcopy, если только не требуется получить два диска с одинаковыми образами.

  • Коды завершения программы xcopy

    Для анализа кодов завершения, выведенных командой xcopy, используйте параметр уровень_ошибки в командной строке if пакетных программ. Чтобы увидеть пример пакетной программы, обрабатывающей коды завершения с помощью if. В следующей таблице перечислены коды завершения с кратким описанием.

    Код завершения Описание
    0 Файлы скопированы без ошибок
    1 Файлы для копирования не найдены
    2 Нажата комбинация CTRL+C для остановки команды xcopy
    4 Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено неверное имя диска или неверный синтаксис вызова команды
    5 Диск защищен от записи

Примеры

Чтобы копировать все файлы и подкаталоги (включая пустые подкаталоги) с диска A на диск B, введите:

xcopy a: b: /s /e

Чтобы включить в операцию копирования предыдущего примера системные и скрытые файлы следует использовать параметр /h:

xcopy a: b: /s /e /h

Чтобы обновить файлы в каталоге \Reports файлами из каталога \alldata, измененными после 29 декабря 2013 года, введите:

xcopy \alldata \reports /d:29-12-2013

Чтобы обновить файлы предыдущего примера, уже существующие в каталоге \Reports, независимо от их даты, введите следующую команду:

xcopy \alldata \reports /u

Чтобы получить список файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:

xcopy \alldata \reports /d:29-12-2013 /l > xcopy.out

Список файлов, которые были бы скопированы, находится в файле Xcopy.out.

Чтобы скопировать каталог \Customer и все подкаталоги \\Public\Address на сетевой диск H, сохранить у файлов атрибут «только для чтения», введите команду:

xcopy \customer h:\public\address /s /e /k /p

Чтобы выдать предыдущую команду, убедиться, что команда xcopy создает каталог \Address и устранить вывод сообщение о создании нового каталога, добавьте параметр /i следующим образом:

xcopy \customer h:\public\address /s /e /k /p /i

Поскольку команда xcopy может работать с датами создания (модификации) файла, ее можно использовать, например, для копирования файлов, созданных (модифицированных) сегодня:

xcopy c:\TEMP D:\vbk\in /D:%date:~3,2%-%date:~0,2%-%date:~8%

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



@echo off rem COPYIT.BAT копирует все файлы во всех подкаталогах rem исходного диска или каталога (%1) на другой диск rem или в другой каталог (%2) xcopy %1 %2 /s /e if errorlevel 4 goto lowmemory if errorlevel 2 goto abort if errorlevel 0 goto exit :lowmemory echo Недостаточно памяти для копирования файлов, echo задан недопустимый диск или ошибка в синтаксисе. goto exit :abort echo Нажата комбинация CTRL+C для остановки копирования. goto exit :exit

Эта пакетная программа может быть использована для копирования всех файлов каталога C:\Prgmcode и его подкаталогов на диск B следующим образом:

copyit c:\prgmcode b:

Где copyit - имя командного файла, текст которого приведен выше.
Командный интерпретатор подставляет C:\Prgmcode вместо параметра %1 и B вместо параметра %2, затем использует команду xcopy с параметрами /e и /s. Если при выполнении xcopy произошла ошибка, пакетная программа считывает код завершения и переходит на метку, указанную в соответствующей инструкции IF ERRORLEVEL. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.

Следует отметить, что XCOPY предназначена для работы с файлами и каталогами, но не с устройствами (например, c принтером).


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






  TopList Rambler Top100 own counter Valid XHTML 1.0 Strict Valid CSS Rambler Top100

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка link О авторе

Фитотерапия Молитвы Водолечение Юмор Форум Кладовка Ссылки О авторе Отправить сообщение Карта сайта Поиск по сайту Главная страница

Copyright © 1999 - 2017  Бронислав Краснер