Копирование директории в cmd. Приведем примеры использования команды COPY

17.04.2019 Android

Полный список команд можно вывести набрав HELP в командной строке.

Команда CD

Текущий каталог можно изменить с помощью команды

CD [диск:][путь\]

Путь к требуемому каталогу указывается с учетом приведенных выше замечаний. Например, команда CD \ выполняет переход в корневой каталог текущего диска. Если запустить команду CD без параметров, то на экран будут выведены имена текущего диска и каталога.

Команда COPY

Одной из наиболее часто повторяющихся задач при работе на компьютере является копирование и перемещение файлов из одного места в другое. Для копирования одного или нескольких файлов используется команда COPY.

Синтаксис этой команды:

COPY источник [+ источник [+ ...]] [результат ]

Краткое описание параметров и ключей команды COPY приведено в таблице.

Таблица 1.1. Параметры и ключи команды COPY

Параметр

Описание

источник

Имя копируемого файла или файлов

Файл является текстовым файлом ASCII, то есть конец файла обозначается символом с кодом ASCII 26 (+)

Файл является двоичным. Этот ключ указывает на то, что интерпретатор команд должен при копировании считывать из источника число байт, заданное размером в каталоге копируемого файла

результат

Каталог для размещения результата копирования и/или имя создаваемого файла

Проверка правильности копирования путем сравнения файлов после копирования

Отключение режима запроса подтверждения на замену файлов

Включение режима запроса подтверждения на замену файлов

Приведем примеры использования команды COPY.

Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под тем же именем:

COPY abc.txt D:\PROGRAM

Копирование файла abc.txt из текущего каталога в каталог D:\PROGRAM под новым именем def.txt:

COPY abc.txt D:\PROGRAM\def.txt

Копирование всех файлов с расширением txt с диска A: в каталог "Мои документы" на диске C:

COPY A:\*.txt "C:\Мои документы"

Если не задать в команде целевой файл, то команда COPY создаст копию файла-источника с тем же именем, датой и временем создания, что и исходный файл, и поместит новую копию в текущий каталог на текущем диске. Например, для того, чтобы скопировать все файлы из корневого каталога диска A: в текущий каталог, достаточно выполнить такую краткую команду:

COPY A:\*.*

В качестве источника или результата при копировании можно указывать имена не только файлов, но и устройств компьютера. Например, для того, чтобы распечатать файл abc.txt на принтере, можно воспользоваться командой копирования этого файла на устройство PRN: COPY abc.txt PRN

Другой интересный пример: создадим новый текстовый файл и запишем в него информацию, без использования текстового редактора. Для этого достаточно ввести команду COPY CON my.txt, которая будет копировать то, что вы набираете на клавиатуре, в файл my.txt (если этот файл существовал, то он перезапишется, иначе - создастся). Для завершения ввода необходимо ввести символ конца файла, то есть нажать клавиши +.

Команда COPY может также объединять (склеивать) нескольких файлов в один. Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл1 + файл2 + файл3. Например, для объединения файлов 1.txt и 2.txt в файл 3.txt можно задать следующую команду:

COPY 1.txt+2.txt 3.txt

Объединение всех файлов с расширением dat из текущего каталога в один файл all.dat может быть произведено так:

COPY /B *.dat all.dat

Ключ /B здесь используется для предотвращения усечения соединяемых файлов, так как при комбинировании файлов команда COPY по умолчанию считает файлами текстовыми.

Если имя целевого файла совпадает с именем одного из копируемых файлов (кроме первого), то исходное содержимое целевого файла теряется. Если имя целевого файла опущено, то в его качестве используется первый файл из списка. Например, команда COPY 1.txt+2.txt добавит к содержимому файла 1.txt содержимое файла 2.txt. Командой COPY можно воспользоваться и для присвоения какому-либо файлу текущей даты и времени без модификации его содержимого. Для этого нужно ввести команду типа

COPY /B 1.txt +,

Здесь запятые указывают на пропуск параметра приемника, что и приводит к требуемому результату.

Команда COPY имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.

Команда XCOPY

Указанные при описании команды COPY проблемы можно решить с помощью команды XCOPY, которая предоставляет намного больше возможностей при копировании. Необходимо отметить, правда, что XCOPY может работать только с файлами и каталогами, но не с устройствами.

Синтаксис этой команды:

XCOPY источник [результат] [ключи]

Команда XCOPY имеет множество ключей, мы коснемся лишь некоторых из них. Ключ /D[:[дата]] позволяет копировать только файлы, измененные не ранее указанной даты. Если параметр дата не указан, то копирование будет производиться только если источник новее результата. Например, команда

XCOPY "C:\Мои документы\*.*" "D:\BACKUP\Мои документы" /D

скопирует в каталог "D:\BACKUP\Мои документы" только те файлы из каталога "C:\Мои документы", которые были изменены со времени последнего подобного копирования или которых вообще не было в "D:\BACKUP\Мои документы".

Ключ /S позволяет копировать все непустые подкаталоги в каталоге-источнике. С помощью же ключа /E можно копировать вообще все подкаталоги, включая и пустые.

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

Ключ /I важен для случая, когда копируются несколько файлов, а файл назначения отсутствует. При задании этого ключа команда XCOPY считает, что файл назначения должен быть каталогом. Например, если задать ключ /I в команде копирования всех файлов с расширением txt из текущего каталога в несуществующий еще подкаталог TEXT,

XCOPY *.txt TEXT /I

то подкаталог TEXT будет создан без дополнительных запросов.

Ключи /Q, /F и /L отвечают за режим отображения при копировании. При задании ключа /Q имена файлов при копировании не отображаются, ключа /F - отображаются полные пути источника и результата. Ключ /L обозначает, что отображаются только файлы, которые должны быть скопированы (при этом само копирование не производится).

С помощью ключа /H можно копировать скрытые и системные файлы, а с помощью ключа /R - заменять файлы с атрибутом "Только для чтения". Например, для копирования всех файлов из корневого каталога диска C: (включая системные и скрытые) в каталог SYS на диске D:, нужно ввести следующую команду:

XCOPY C:\*.* D:\SYS /H

Ключ /T позволяет применять XCOPY для копирования только структуры каталогов источника, без дублирования находящихся в этих каталогах файлов, причем пустые каталоги и подкаталоги не включаются. Для того, чтобы все же включить пустые каталоги и подкаталоги, нужно использовать комбинацию ключей /T /E.

Используя XCOPY можно при копировании обновлять только уже существующие файлы (новые файлы при этом не записываются). Для этого применяется ключ /U. Например, если в каталоге C:\2 находились файлы a.txt и b.txt, а в каталоге C:\1 - файлы a.txt, b.txt, c.txt и d.txt, то после выполнения команды

XCOPY C:\1 C:\2 /U

в каталоге C:\2 по-прежнему останутся лишь два файла a.txt и b.txt, содержимое которых будет заменено содержимым соответствующих файлов из каталога C:\1.Если с помощью XCOPY копировался файл с атрибутом "Только для чтения", то по умолчанию у файла-копии этот атрибут снимется. Для того, чтобы копировать не только данные, но и полностью атрибуты файла, необходимо использовать ключ /K.

Ключи /Y и /-Y определяют, нужно ли запрашивать подтверждение перед заменой файлов при копировании. /Y означает, что такой запрос нужен, /-Y - не нужен.

Команда DIR

Еще одной очень полезной командой является DIR [диск:][путь][имя_файла] [ключи], которая используется для вывода информации о содержимом дисков и каталогов. Параметр [диск:][путь] задает диск и каталог, содержимое которого нужно вывести на экран. Параметр [имя_файла] задает файл или группу файлов, которые нужно включить в список. Например, команда

DIR C:\*.bat

выведет на экран все файлы с расширением bat в корневом каталоге диска C:. Если задать эту команду без параметров, то выводится метка диска и его серийный номер, имена (в коротком и длинном вариантах) файлов и подкаталогов, находящихся в текущем каталоге, а также дата и время их последней модификации. После этого выводится число файлов в каталоге, общий объем (в байтах), занимаемый файлами, и объем свободного пространства на диске. Например:

Том в устройстве C имеет метку PHYS1_PART2 Серийный номер тома: 366D-6107 Содержимое папки C:\aditor . <ПАПКА> 25.01.00 17:15 . .. <ПАПКА> 25.01.00 17:15 .. TEMPLT02 DAT 227 07.08.98 1:00 templt02.dat UNINST1 000 1 093 02.03.99 8:36 UNINST1.000 HILITE DAT 1 082 18.09.98 18:55 hilite.dat TEMPLT01 DAT 48 07.08.98 1:00 templt01.dat UNINST0 000 40 960 15.04.98 2:08 UNINST0.000 TTABLE DAT 357 07.08.98 1:00 ttable.dat ADITOR EXE 461 312 01.12.99 23:13 aditor.exe README TXT 3 974 25.01.00 17:26 readme.txt ADITOR HLP 24 594 08.10.98 23:12 aditor.hlp ТЕКСТО~1 TXT 0 11.03.01 9:02 Текстовый файл.txt 11 файлов 533 647 байт 2 папок 143 261 696 байт свободно

С помощью ключей команды DIR можно задать различные режимы расположения, фильтрации и сортировки. Например, при использовании ключа /W перечень файлов выводится в широком формате с максимально возможным числом имен файлов или каталогов на каждой строке. Например:

Том в устройстве C имеет метку PHYS1_PART2 Серийный номер тома: 366D-6107 Содержимое папки C:\aditor [.] [..] TEMPLT02.DAT UNINST1.000 HILITE.DAT TEMPLT01.DAT UNINST0.000 TTABLE.DAT ADITOR.EXE README.TXT ADITOR.HLP ТЕКСТО~1.TXT 11 файлов 533 647 байт 2 папок 143 257 600 байт свободно

С помощью ключа /A[[:]атрибуты] можно вывести имена только тех каталогов и файлов, которые имеют заданные атрибуты (R - "Только чтение", A - "Архивный", S - "Системный", H - "Скрытый", префикс "–" имеет значение НЕ). Если ключ /A используется более чем с одним значением атрибута, будут выведены имена только тех файлов, у которых все атрибуты совпадают с заданными. Например, для вывода имен всех файлов в корневом каталоге диска C:, которые одновременно являются скрытыми и системными, можно задать команду

DIR C:\ /A:HS

а для вывода всех файлов, кроме скрытых - команду

DIR C:\ /A:-H

Отметим здесь, что атрибуту каталога соответствует буква D, то есть для того, чтобы, например, вывести список всех каталогов диска C:, нужно задать команду

DIR C: /A:D

Ключ /O[[:]сортировка] задает порядок сортировки содержимого каталога при выводе его командой DIR. Если этот ключ опущен, DIR печатает имена файлов и каталогов в том порядке, в котором они содержатся в каталоге. Если ключ /O задан, а параметр сортировка не указан, то DIR выводит имена в алфавитном порядке. В параметре сортировка можно использовать следующие значения: N - по имени (алфавитная), S - по размеру (начиная с меньших), E - по расширению (алфавитная), D - по дате (начиная с более старых), A - по дате загрузки (начиная с более старых), G - начать список с каталогов. Префикс "–" означает обратный порядок. Если задается более одного значения порядка сортировки, файлы сортируются по первому критерию, затем по второму и т.д.

Ключ /S означает вывод списка файлов из заданного каталога и его подкаталогов.

Ключ /B перечисляет только названия каталогов и имена файлов (в длинном формате) по одному на строку, включая расширение. При этом выводится только основная информация, без итоговой. Например:

Templt02.dat UNINST1.000 hilite.dat templt01.dat UNINST0.000 ttable.dat aditor.exe readme.txt aditor.hlp Текстовый файл.txt

Команды MKDIR и RMDIR

Для создания нового каталога и удаления уже существующего пустого каталога используются команды MKDIR [диск:]путь и RMDIR [диск:]путь [ключи] соответственно (или их короткие аналоги MD и RD). Например:

MKDIR "C:\Примеры" RMDIR "C:\Примеры"

Команда MKDIR не может быть выполнена, если каталог или файл с заданным именем уже существует. Команда RMDIR не будет выполнена, если удаляемый каталог не пустой.

Команда DEL

Удалить один или несколько файлов можно с помощью команды

DEL [диск:][путь]имя_файла [ключи]

Для удаления сразу нескольких файлов используются групповые знаки? и *. Ключ /S позволяет удалить указанные файлы из всех подкаталогов, ключ /F – принудительно удалить файлы, доступные только для чтения, ключ /A[[:]атрибуты] – отбирать файлы для удаления по атрибутам (аналогично ключу /A[[:]атрибуты] в команде DIR).

Команда REN

Переименовать файлы и каталоги можно с помощью команды RENAME (REN). Синтаксис этой команды имеет следующий вид:

REN [диск:][путь][каталог1|файл1] [каталог2|файл2]

Здесь параметр каталог1|файл1 определяет название каталога/файла, которое нужно изменить, а каталог2|файл2 задает новое название каталога/файла. В любом параметре команды REN можно использовать групповые символы? и *. При этом представленные шаблонами символы в параметре файл2 будут идентичны соответствующим символам в параметре файл1. Например, чтобы изменить у всех файлов с расширением txt в текущей директории расширение на doc, нужно ввести такую команду:

REN *.txt *.doc

Если файл с именем файл2 уже существует, то команда REN прекратит выполнение, и произойдет вывод сообщения, что файл уже существует или занят. Кроме того, в команде REN нельзя указать другой диск или каталог для создания результирующих каталога и файла. Для этой цели нужно использовать команду MOVE, предназначенную для переименования и перемещения файлов и каталогов.

Команда MOVE

Синтаксис команды для перемещения одного или более файлов имеет вид:

MOVE [диск:][путь]имя_файла1[,...] результирующий_файл

Синтаксис команды для переименования папки имеет вид:

MOVE [диск:][путь]каталог1 каталог2

Здесь параметр результирующий_файл задает новое размещение файла и может включать имя диска, двоеточие, имя каталога, либо их сочетание. Если перемещается только один файл, допускается указать его новое имя. Это позволяет сразу переместить и переименовать файл. Например,

MOVE "C:\Мои документы\список.txt" D:\list.txt

Если указан ключ /-Y, то при создании каталогов и замене файлов будет выдаваться запрос на подтверждение. Ключ /Y отменяет выдачу такого запроса.

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

Хотя, если говорить точно, для переименования файлов и их перемещения используется одна и та же команда, потому что при этом выполняется одна и та же операция редактирования таблицы, в которой директория хранит список файлов, находящихся внутри этой директории.

Работа с файлами в командной строке

Создание файла

Для того чтобы создать файл, можно использовать команду touch . На самом деле, предназначение данной команды — изменение даты последнего доступа к файлу и даты последнего изменения файла.

Выполнение команды без параметров touch путь_до_файла/file обновит у файла дату последнего доступа (last access time) и дату последнего редактирования (last modification time). Если же такого файла не существует, то будет создан пустой файл с указанным в команде именем.

Чтобы обновить только дату доступа, надо использовать параметр ‑a , чтобы только дату изменения — параметр ‑m . Также можно установить не текущую, а произвольную дату, используя параметр ‑t , и указав после него дату в формате MMDDhhmm[.SS] , например, 201203201359.11 , что соответствует 2012 году 03 месяцу 20 числу 13 часам 59 минутам 11 секундам.

Создание директории

Для создания директорий существует команда mkdir (от англ. m ak e dir ectory).

Синтаксис: mkdir имя_директории... , где имя директории — это путь и имя создаваемой директории. Можно указать несколько директорий через пробел.

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

Mkdir -p folder1/folder2/folder3

создаст все три директории folder1, folder2, folder3 в случае, если они не существуют.

По умолчанию директории создаются с набором прав доступа 755 ; чтобы создать директорию с иным набором прав, используется параметр ‑m права_доступа, например так: mkdir ‑m 750 folder .

Перемещение и изменение имени файла или директории

Имена файлов или директорий хранятся не в самих этих файлах, а являются записями в таблице, которая содержит список с именами файлов и директорий, находящихся внутри этой директории . Таким образом, при переименовании файла или его перемещении в другую директорию выполняется одна и та же операция — редактирование таблицы директории со списком файлов. Поэтому для перемещения и изменения имени файла используется одна и та же команда mv (от англ. m ov e).

Синтаксис команды: mv исходный_файл новый_файл, где исходный файл — это путь до файла или директории и имя файла или директории, которые вы хотите переместить, а новый файл — это путь до места назначения, куда необходимо переместить файл или директорию, и новое имя для перемещаемого файла или директории.

mv /Users/ixrevo/Downloads/hello.txt /Users/ixrevo/Desktop/hi.txt в этом примере мы перемещаем файл hello.txt из директории /Users/ixrevo/Downloads/ на рабочий стол /Users/ixrevo/Desktop/ , а имя перемещённого файла будет hi.txt (содержимое файла останется без изменений).

Учитывая что нашей текущей директорией была /Users/ixrevo/ , можно было бы указать относительный путь к файлу:
cp Downloads/hello.txt Desktop/hi.txt

Подробнее о текущей директории вы можете прочитать в статье «Навигация по файловой системе в командной строке» , а про относительные и абсолютные пути — в статье «Как устроена структура файловой системы Mac OS X» .

Также можно переименовать файл или директорию, не перемещая:

Mv hello.txt hi.txt

Или переместить, не переименовывая:

Mv /Users/ixrevo/Downloads/hello.txt /Users/ixrevo/Desktop/

Для чего необходимо указать только директорию, куда перемещать файл или директорию, без указания нового имени (ну или указать старое имя).

Ещё один способ использования команды mv удобен для перемещения нескольких файлов или директорий: mv исходный_файл_1 исходный_файл_2 ... директория, где исходный файл_1, исходный файл_2 и т.д. — пути и имена файлов или директорий, которые необходимо переместить, а директория — это путь до директории, куда необходимо переместить файлы, указанные ранее.

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

Для копирования файлов и директорий существует команда cp , что является сокращением от c op y .

Синтаксис команды: cp исходный_файл новый_файл, где исходный файл — это путь и имя файла, который необходимо скопировать, а новый файл — это путь до создаваемой копии файла и имя этой копии.

Например, выполнив команду:

Cp /Users/ixrevo/Downloads/hello.txt /Users/ixrevo/Desktop/hi.txt

Мы скопируем файл hello.txt из директории /Users/ixrevo/Downloads/ на рабочий стол /Users/ixrevo/Desktop/ , а имя у копии файла будет hi.txt .

Команда cp также позволяет копировать несколько файлов:

Cp исходный_файл_1 исходный_файл_2 ... директория

Исходный файл_1, исходный файл_2 и т.д. — пути до файлов и имена файлов, которые необходимо скопировать, а директория — это путь до директории, куда вы хотите скопировать файлы, указанные ранее.

Копирование директории

Для копирования директорий команда cp используется с параметром ‑R или ‑r (от англ. r ecursive). Команда cp , выполненная с этим параметром, если в качестве первого аргумента была указана директория, скопирует директорию и всё её содержимое, то есть все вложенные директории и файлы.

Синтаксис команды в данном случае выглядит следующим образом:

Cp -r копируемая_директория место_назначения

При попытке скопировать директорию без параметра ‑r , директория скопирована не будет, а будет выведено сообщение об ошибке.

Удаление файла

Для того чтобы удалять файлы, используется команда rm (от англ. r emov e). Синтаксис: rm файл... , где файл — это путь и имя файла, который необходимо удалить. Также можно указать несколько файлов для удаления.

Удаление директории

Существует несколько способов удаления директорий. Например, можно использовать команду

Rmdir директория...

директория — это путь и имя директории, которую необходимо удалить. Также можно указать несколько директорий для удаления.

Если директория не пустая, то есть содержит вложенные файлы и/или папки, то команда rmdir не сможет удалить эту директорию и выдаст сообщение об ошибке.

Аналогично команде rmdir действует команда rm с параметром ‑d .

Конечно, удалять каждый раз сначала содержимое директории, а потом её саму не очень интересно, но, к счастью, есть способ удалить директорию вместе со всем её содержимым. Для этого выполните команду rm с параметром ‑R или ‑r , и тогда все файлы и директории, указанные в команде rm ‑r директория... , будут удалены вместе со всеми вложенными директориями. Но будьте осторожны, не удалите этой командой что-нибудь нужное, особенно учитывая, что в командной строке нет корзины и файлы с директориями удаляются необратимо.

Команда COPY

Источник [+ источник [+ ...]] [результат ]:

источникИмена одного или нескольких копируемых файлов.

/AФайл является текстовым файлом ASCII.

/BФайл является двоичным файлом.

результатКаталог и/или имя для конечных файлов.

/VПроверка правильности копирования файлов.

/N Использование, если возможно, коротких имен при копировании файлов, чьи имена не удовлетворяют стандарту 8.3.

/Y Подавление запроса подтверждения на перезапись существующего конечного файла.

/-Y Обязательный запрос подтверждения на перезапись существующего конечного файла.

Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

По умолчанию требуется подтверждение, если только команда COPY не выполняется в пакетном файле

Команда XCOPY

Чтобы объединить файлы, укажите один конечный и несколько исходных файлов, используя подстановочные знаки или формат "файл1+файл2+файл3+...". Копирование файлов и структур каталогов.

источник [результат] ] ]

[+файл3]...]

источник Копируемые файлы.

результат Местоположение и/или имена новых файлов.

/A Копирование только файлов с установленным архивным атрибутом. Сам атрибут при этом не изменяется.

/M Копирование только файлов с установленным архивным атрибутом. После копирования атрибут снимается.

/D:датаКоп. файлов, измененных не ранее указанной даты. Если дата не указана, заменяются только конечные файлы

/EXCLUDE:файл1[+файл2][+файл3]...Список файлов, содержащих строки. Когда любая из строк Совпадает с любой частью абсолютного пути к копируемому файлу, такой файл исключается из операции копирования. К примеру, указав строку obj или.obj можно исключить все файлы из папки obj или все файлы с расширением obj соответственно.

/P Вывод запросов перед созданием каждого нового файла.

/S Копирование каталогов с подкаталогами (кроме пустых).

/E Копирование каталогов с подкаталогами (в том числе пустых).

Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T. /V

Сравнение конечных файлов с исходными.

/W Вывод запроса на нажатие клавиши перед копированием.

/C Продолжение копирования, независимо от наличия ошибок.

/I Если результат не существует, а копируется несколько файлов, считается, что указано имя каталога.

/Q Запрет вывода имен копируемых файлов.

/F Вывод полных имен исходных и конечных файлов.

/L Вывод имен копируемых файлов.

/H Копирование скрытых и системных файлов (среди прочих).

/R Разрешение замены файлов, предназначенных только для чтения.

/T Создание структуры каталогов (кроме пустых каталогов) без копирования файлов. Если требуется создать пустые каталоги и подкаталоги, используйте сочетание ключей /T /E.

/U Копирование только файлов, уже имеющихся в конечном каталоге.

/K Копирование атрибута "Только чтение" (обычно он сбрасывается).

/N Использование коротких имен при копировании.

/O Копирование сведений о владельце и данных ACL.

/X Копирование параметров аудита файлов (требует /O).

/Y Подавление запроса подтверждения на перезапись существующего конечного файла. /-Y Обязательный запрос подтверждения на перезапись существующего конечного файла.

/Z Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD. Ключ /-Y командной строки переопределяет такую установку.

Пример: 1. Копирование text.txt в A:ЗаданияНовая

2. При копировании имя файла будет изменено

Xcopy - команда консольного режима операционной системы Windows. Служит для копирования одного или несколько файлов и (или) папок из одного места в другое. Она также является командой операционной системы MS-DOS. Благодаря множеству опций и возможности копировать целые каталоги xcopy похожа на традиционную copy, но обладает гораздо большими возможностями. Если же требуется еще большая функциональность, то операционная система располагает командой robocopy, которая оперирует еще параметров.

Синтаксис

Формат командной строки следующий:

xcopy источник [приемник ] ] [+file3 ]...]

Источник определяет имя файла или папки верхнего уровня, из которых будет производиться копирование. Это единственный обязательный параметр команды xcopy. В случае если в имени файла или каталога содержатся пробелы, его следует заключить в кавычки.

Приемник, или целевой объект, является параметром, указывающим на место, куда должны быть скопированы исходные файлы или папки. Если он не указан, то источник будет сохранен в той же директории, в которой запускается команда xcopy. Если в названии места назначения содержатся пробелы, то его следует заключить в кавычки.

/a

При использовании этой опции будут копироваться только архивные файлы, найденные в источнике. Нельзя применять /a и /m одновременно.

/b

Данный параметр применяется для копирования символьной ссылки, а не того, но что она ссылается. Впервые появился в Windows Vista.

Эта опция вынуждает xcopy продолжать работу даже в случае возникновения ошибки.

/d [: дата]

Команда xcopy с опцией /d и следующей за ней конкретной датой в формате MM-ДД-ГГГГ предназначена для копирования файлов, измененных в указанный день или позже. Также можно использовать этот параметр без определенного временного значения, чтобы выбрать только те части источника, которые новее документов с таким же именем в приемнике. Применяется для выполнения обычного файлов.

При использовании отдельно или с опцией /s действие параметра совпадает с /s, но также создает пустые папки в приемнике, если они были такими в источнике. Ключ /e тоже можно использовать вместе с /t. Это позволяет включить пустые каталоги и подкаталоги, найденные в исходной директории, в структуру каталогов, создаваемую в месте назначения.

/f

Данная опция отображает полный путь и имя исходного и целевого файлов.

/g

Используя xcopy с этой опцией, можно копировать зашифрованные файлы из источника в приемник, который не поддерживает шифрование. Ключ не будет работать при репликации данных с EFS-диска на другой зашифрованный диск иного типа.

/h

Xcopy по умолчанию не копирует скрытые или системные файлы, но с данным параметром может это сделать.

/i

Используется данный параметр, чтобы xcopy не спрашивал, файлом или каталогом является получатель. Если не применить эту опцию и выполнить копирование из источника, который представляет собой каталог или группу файлов, в несуществующее место назначения, то утилита предложит указать, чем именно является целевой объект.

/j

Эта опция копирует файлы без буферизации. Данная функция полезна для очень больших объемов данных. Впервые этот параметр xcopy появился в Windows 7.

/k

Опция используется при копировании файлов, доступных только для чтения, чтобы этот атрибут был сохранен в месте назначения.

/l

Данный параметр xcopy следует использовать, чтобы показать список файлов и папок источника, но само копирование на самом деле не выполняется. Опция будет полезна в случае создания сложной команды с несколькими ключами. При этом пользователь сможет увидеть предполагаемую работу xcopy.

/m

Этот параметр идентичен опции /a, но после копирования команда хсору отключит атрибут архива. Во всех остальных случаях этот атрибут будет присвоен всем файлам в приемнике, независимо от того, имели ли они его в источнике. Нельзя использовать /m и /a одновременно.

/n

Данный параметр создает файлы и папки в приемнике, используя короткие имена. Опция применяется только в случае копирования в существующее место назначения на диске, отформатированном в более старой файловой системе, такой как FAT, которая не поддерживает длинные имена.

Сохраняет информацию о владельце и списке контроля доступа (ACL) в скопированных файлах.

При использовании данной опции пользователь должен будет подтвердить создание каждого файла целевого объекта.

/q

Опция противоположна /f. Данный параметр xcopy переводит выполнение в «тихий» режим, отключая экранное отображение информации о каждом скопированном файле.

/r

Данная опция используется для перезаписи файлов, открытых только для чтения, в месте назначения. Если этот параметр не применяется при обновлении данных в приемнике, то будет выведено сообщение Access denied («Отказано в доступе») и команда xcopy остановит работу.

/s

Опция используется для копирования папок с файлами и подкаталогами в дополнение к содержимому корневого каталога источника. Пустые директории создаваться не будут.

/t

Этот параметр xcopy заставляет команду создать в приемнике структуру каталогов, но не копировать ни один из файлов. Другими словами, папки и подкаталоги, найденные в источнике, будут перенесены, но без их содержимого. Пустые директории не создаются.

/u

Параметр будет копировать только файлы источника, которые уже находятся в пункте назначения.

/v

Этот параметр активирует проверку размера каждого записываемого файла для подтверждения его идентичности. Верификация была встроена в команду xcopy, начиная с Windows XP, поэтому в более поздних версиях Windows эта опция ничего не делает и включена только для совместимости с MS-DOS.

/w

Параметр используется для вывода сообщения “Press any key when ready to being copying file(s)” («Нажмите любую клавишу, когда будете готовы к копированию файла (ов)»). При этом xcopy начинает выполнять инструкции только после подтверждения операции нажатием клавиши. Эта опция не дублирует ключ /p, который активирует подтверждение копирования каждого файла.

Этот параметр копирует установки аудита файла и информацию о списке управления доступом к системе (SACL). Когда используется опция /x, выполняется ключ /o.

/y

Опция используется, чтобы команда xcopy не запрашивала подтверждения перезаписи файлов из источника, уже существующих в приемнике. И наоборот, параметр /-y форсирует запросы на перезапись. Этот ключ может показаться излишним, поскольку такое поведение команды xcopy заложено по умолчанию, но опция /y на некоторых компьютерах может быть задан в переменной окружения COPYCMD, что вызывает необходимость этого параметра.

/z

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

/exclude: file1 [+file2] [+file3]

Данный параметр позволяет указать одно или несколько имен файлов, содержащих список строк поиска, которые команда xcopy должна пропустить при копировании.

/?

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

Примеры

  • xcopy C:\Files E:\Files / i

В приведенном выше команде данные, содержащиеся в исходном каталоге C:\Files, копируются в пункт назначения, который является новой папкой Files на диске E. Никакие подкаталоги или файлы, содержащиеся в них, не будут реплицированы, поскольку не был использован ключ /s.

  • xcopy "C: \Important files " D:\Backup /c /d /e /h /i /k /q /r /s /x /y

В этом примере команда используется для резервного копирования. Такое сочетание ключей с успехом заменяет программное обеспечение, обеспечивающее сохранность данных. Указанную команду можно записать в пакетный файл, и в диспетчере задач назначить его ежедневное автоматическое выполнение. Таким образом можно обеспечить регулярное резервирование данных.

Вышеуказанная командная строка означает, что xcopy используется для копирования всех файлов и папок , дата которых новее, чем у уже находящихся в приемнике , в том числе пустых и скрытых , из источника C: \Important files в целевой объект D:\Backup, который является каталогом . Кроме того, имеются данные, предназначенные только для чтения, которые следует реплицировать с сохранением этого атрибута после записи . Также должны сохраняться все настройки управления доступом . Наконец, поскольку xcopy должна запускаться в пакетном режиме, нет необходимости в выводе информации о копируемых объектах [q], как и в подтверждении перезаписи каждого из них . Остановка при возникновении ошибки тоже нежелательна .

  • xcopy C:\Видео "\\SERVER\Медиа бэкап" /f /j /s /w /z

Здесь команда xcopy используется для копирования всех папок с файлами, содержащихся в подкаталогах , из источника “C:\Видео” в целевую директорию “Медиа бэкап”, расположенную в сети на компьютере под названием SERVER. Поскольку выполняется сохранение видео действительно большого размера, то для улучшения процесса отключается буферизация , а так как это происходит по сети, то предусматривается возможность возобновления копирования при потере связи . В данном случае пользователь желает получить запрос на подтверждение запуска процесса еще до того, как xcopy действительно что-нибудь сделает , а также желает видеть подробную информацию о том, какие файлы записываются .

  • xcopy C:\Client032 C: \Client033 /t /e

В этом примере имеется источник с хорошо организованным каталогом текущего клиента в C: \Client032. При этом уже создана папка Client033 для нового клиента, но пользователь не хочет копировать файлы, а только структуру директорий , чтобы не делать этого вручную. Кроме того, в C:\Client032 имеется несколько пустых каталогов, которые могут понадобиться для нового клиента, поэтому следует убедиться, что они тоже будут воспроизведены .

Доступность

Команду можно вызвать из командной строки всех операционных систем Windows, включая Windows 8, 7, Vista, XP, 98 и т. д. Также xcopy поддерживается операционной системой MS-DOS. Следует отметить, что доступность некоторых параметров команды и ее синтаксис в различных ОС может отличаться.

Варианты

В Windows 98 и 95 доступны 2 версии команды: xcopy и xcopy32. Тем не менее последняя из них никогда не предназначалась для запуска напрямую. При выполнении xcopy в Windows 95 или 98 автоматически запускается либо исходная 16-разрядная версия (в режиме MS-DOS), либо выполняется новая 32-разрядная версия (в Windows). Поэтому, независимо от того, какая версия операционной системы есть в наличии, необходимо всегда запускать команду xcopy, а не xcopy32, даже если она доступна. При выполнении первой всегда будет использоваться наиболее подходящая версия.

Небольшой урок, который поможет Вам разобраться, как применять основные операции с текстом в командной строке (cmd) Windows 7 — копирование, выделение, вставку.

Многие пытаются пользоваться сочетаниями клавиш для копирования (Ctrl+C), вставки (Ctrl+V), вырезания текста (Ctrl+X) и выделения всего текста (Ctrl+A). Однако, насколько Вы уже догадались, данный способ не работает в командной строке, т.к. она воспринимает клавишу Ctrl как символ:

Поэтому, если Вы еще не догадались, то скажу, что нужно использовать банальное контекстное меню. Но, Вы бы не задались вопросом и не читали бы эту статью, если бы все было так гладко. Контекстное меню работает безупречно, если нужно вставить какую-либо команду в строку. То же самое, если нужно выделить весь текст в окне программы:

Однако скопировать выделенный текст уже не так то и просто. При попытке нажать правой кнопкой мыши на выделенный текст выделение тут же снимается. А если нажать Ctrl+C выделение также снимется, а в строке появится белиберда, изображенная в первой картинке этой статьи. Как быть? Ни за что не догадаетесь))) Варианта аж два.

1. Нужно нажать правой кнопкой на шапку окна … Далее пункт меню «Изменить» и выбрать «Копировать». Там же будут и остальные пункты контекстного меню.

2. Выделив весь текст просто нажать клавишу ENTER

Теперь о том, как выделить фрагмент текста в командной строке. Кликните в любое место окна программы и выберите пункт меню «Поменить». Далее воспользуйтесь мышью, чтобы выбрать определенный фрагмент. После этого воспользуйтесь одним из способов выше, чтобы скопировать выделенный текст (самый быстрый — нажать клавишу Enter).

Вот и все. Если статья помогла — ставьте лайки и обращайте внимание на сайты наших партнеров))) Заранее благодарен.