Страницы: 1 .. 181 182 183 184 185 .. 282
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
- Использование параметра /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 пакетных программ. В следующей таблице перечислены коды завершения с кратким описанием.
Код завершения |
Описание |
0 |
Файлы скопированы без ошибок |
1 |
Файлы для копирования не найдены |
2 |
Нажата комбинация CTRL+C для остановки команды xcopy |
4 |
Возникла ошибка инициализации. Недостаточно места в памяти или на диске, введено неверное имя диска или неверный синтаксис вызова команды |
5 |
Диск защищен от записи |
Примеры
Чтобы копировать все файлы и подкаталоги (включая пустые подкаталоги) с диска A на диск B, введите:
xcopy a: b: /s /e
Чтобы включить в операцию копирования предыдущего примера системные и скрытые файлы следует использовать параметр /h:
xcopy a: b: /s /e /h
Чтобы обновить файлы в каталоге \Reports файлами из каталога \Rawdata, измененными после 29 декабря 1993 года, введите:
xcopy \rawdata \reports /d:29-12-1993
Чтобы обновить файлы предыдущего примера, уже существующие в каталоге \Reports, независимо от их даты, введите следующую команду:
xcopy \rawdata \reports /u
Чтобы получить списк файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:
xcopy \rawdata \reports /d:29-12-1993 /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 и анализа кодов завершения можно создать пакетный файл и использовать оператор 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 и его подкаталогов на диск D следующим образом:
copyit c:\prgmcode d:
Командный интерпретатор подставляет C:\Prgmcode вместо параметра %1 и B вместо параметра %2, затем использует команду xcopy с параметрами /e и /s. Если при выполнении xcopy произошла ошибка, пакетная программа считывает код завершения и переходит на метку, указанную в соответствующей инструкции IF ERRORLEVEL. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.
1 .. 181 182 183 184 185 .. 282