Как копировать файлы в командной строке
Перейти к содержимому

Как копировать файлы в командной строке

  • автор:

Команда COPY для копирования одного или нескольких файлов.

Команда COPY при работе в командной строке позволяет копировать один или несколько файлов. Команда имеет синтаксис: COPY[/D][/V][/N][/Y | /-Y][/Z][/L][/A | /B]источник[/A | /B][+ источник[/A | /B] [+ . ]][результат [/A | /B]]. Источником является имя копируемого файла, а результатом является каталог, в который будет помещена копия этого файла и/или имя создаваемого файла.

Для примера, создадим на диске «С» какой-нибудь файл (я создал текстовый файл «robot.txt»), а на диске «D» какую-нибудь папку (я создал папку «folder1»). Тогда команда для копирования файла «robot.txt» в папку «folder1» выглядит так: copy robot.txt d:\folder1

copy

Если необходимо скопировать файл, изменив при этом его имя, необходимо записать следующую команду: copy robot.txt d:\folder1\file.txt В этом случае, файл «robot.txt» будет скопирован в папку «folder1», но уже с именем «file.txt».

copy.

Для того чтобы скопировать все файлы с выбранным расширением, необходимо вместо названия файла поставить звездочку «*». Например, создадим на диске «С» какую-нибудь папку (я создал папку «papka») и скопируем в нее все текстовые файлы из папки «folder1», расположенной на диске «D». Команда будет иметь вид: copy d:\folder1\*.txt c:\papka

copy..

Если в качестве [результата] не указывать каталог, то команда copy скопирует файл (или файлы) и поместит их в текущем каталоге. При этом скопированные файлы будут иметь то же имя, дату и время создания, что и исходный файл. Например, создадим в папке «folder1», расположенной на диске «D» текстовый файл с именем «robot1.txt». После этого в командной строке изменим текущий каталог с «C:\>» на «C:\Papka». Тогда команда copy d:\folder1\robot1.txt скопирует файл «robot1.txt» из папки «folder1» и поместит его в текущем каталоге, т.е. в папку «papka», расположенную на диске «C». Причем, имя, дата и время создания скопированного файла будет идентично исходному файлу.

copy.

Для того чтобы скопировать все файлы из определенного каталога, необходимо вместо названия файла поставить звездочку «*» и вместо расширения файла поставить звездочку «*». Например, создадим в папке «folder1» несколько файлов, имеющих различные расширения (документ Word, архив Rar и т.д.). Тогда команда для копирования всех файлов из папки «folder1» на диск «C» будет выглядеть: copy d:\folder1\*.* c:\

copy.

[Источником] или [результатом] копирования могут выступать не только файлы, но и различные устройства компьютера. В Windows поддерживаются следующие имена устройств:

  • LPT1 – LPT3 (параллельные порты).
  • COM1 – COM3 (последовательные порты).
  • CON (терминал, при выводе это экран компьютера, при вводе – клавиатура).
  • PRN (принтер).
  • AUX (устройство, подсоединяемое к последовательному порту 1).

Например, с помощью командной строки и команды «copy» можно создать текстовый файл и записать в него информацию: copy con f1.txt . Команда copy con f1.txt создаст текстовый файл «f1.txt» и скопирует в него символы, которые вы будете вводить с клавиатуры.

copy.

После ввода команды copy con f1.txt нажимаем Enter и вводим слова, которые необходимо сохранить (я ввел command com). После ввода необходимо поставить признак конца файла (нажать Ctrl+Z).
C помощью команды copy можно объединять несколько файлов в один файл. Например, создадим на диске «C» два файла f2.txt и f3.txt (файл f1.txt мы создали ранее) и запишем в эти файлы какую-нибудь информацию. Тогда команда copy f1.txt+f2.txt+f3.txt d:\f4.txt скопирует содержимое файлов «f1.txt», «f2.txt», «f3.txt» в файл «f4.txt», который будет автоматически создан на диске «D».

copy.

Если при объединении файлов не указывать файл — [результат], то вся информация будет сохранена в первом файле. Например, команда copy f1.txt+f2.txt+f3.txt добавит к содержимому файла f1.txt содержимое файлов f2.txt и f3.txt

copy.

Ключ /Y отключает вывод сообщения о замене файлов. По умолчанию, при копировании файлов, если такой файл существует, то на экран выводится сообщение с предупреждением о замене. Пользователь может согласиться с заменой (нажать Y) или не согласиться (нажать N). Ключ /Y отключает это сообщение и копирование происходит сразу. Для примера создадим на диске «C» файл vov.txt и скопируем его на диск «D»: copy vov.txt d:\
Затем скопируем этот файл еще раз. При этом выводится сообщение «Заменить d:\vov.txt [Yes (да)……»
После этого скопируем файл еще раз, употребив ключ /Y. Сообщение выводиться не будет.

copy2

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

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

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

COPY — Копирование одного или нескольких файлов из одного расположения в другое.

Синтаксис

Параметры

Параметр Описание
/d Сохранение копируемых шифрованных файлов как расшифрованных в месте назначения
/v Проверка правильности копирования путем сравнения копий файлов
/n Использование короткого имени (при наличии) копируемого файла, если его имя превышает 8 символов или его расширение превышает 3 символа
/y Отмена вывода запроса на подтверждение перезаписи существующего конечного файла
/-y Вывод запроса на подтверждение перезаписи существующего конечного файла
/z Копирование файлов по сети в режиме перезапуска
/a Указание текстового файла в формате ASCII
/b Указание двоичного файла. источник Обязательный параметр. Задание расположение файла или набора файлов, которые требуется скопировать. Параметр источник может состоять из имени диска с двоеточием, имени папки, имени файла или их комбинации. назначение Обязательный параметр. Задание расположения, в которое требуется скопировать файл или набор файлов. Параметр назначение может состоять из имени диска с двоеточием, имени папки, имени файла или их комбинации
/? Отображение справки в командной строке

Примечания

  • Имеется возможность скопировать текстовый файл, в котором используется символ конца файла (CTRL+Z) для обозначения конца файла.
  • Если параметр /a стоит перед списком файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /b команды copy. В этом случае /b применяется к файлу, предшествующему /b.
  • Если параметр /a стоит после списка файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /b команды copy. В этом случае /b применяется к файлу, предшествующему /b.
  • Результат применения параметра /a зависит от его положения в командной строке. Если параметр /a стоит после параметра источник, команда copy обрабатывает файл как текстовый в формате ASCII и копирует данные, которые находятся перед первым символом конца файла.
  • Если параметр /a расположен после параметра назначение, команда copy добавляет символ конца файла как последний символ файла.
  • Параметр /b задает считывание командным процессором количества байт, равного размеру файла в каталоге. Параметр /b задается по умолчанию для команды copy, за исключением случаев использования copy для слияния файлов.
  • Если параметр /b стоит перед списком файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /a команды copy. В этом случае /a применяется к файлу, предшествующему /a.
  • Если параметр /b стоит после списка файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /a команды copy. В этом случае /a применяется к файлу, предшествующему /a.
  • Результат применения параметра /b зависит от его положения в командной строке. Если параметр /b стоит после параметра источник, команда copy копирует файл целиком, включая все символы конца строки.
  • Если параметр /b стоит после параметра назначение, команда copy не добавляет символ конца строки.
  • Если операция записи не может быть проверена, выводится сообщение об ошибке. Хотя ошибки записи редко возникают при работе с командой copy, параметром /v можно воспользоваться для проверки правильности записи важных данных. Параметр /v также завершает работу команды copy, поскольку необходимо проверить каждый сектор, записанный на диск.
  • Если параметр /y установлен заранее в переменной среды COPYCMD, можно переопределить эту настройку, указав параметр /-y в командной строке. При переопределении данной настройки по умолчанию выводится запрос, за исключением исключением случаев выполнения команды copy в пакетном файле.
  • Чтобы объединить файлы, укажите один файл в параметре назначение и несколько в параметре источник (используя подстановочные знаки или формат файл1+файл2+файл3).
  • Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит в автономный режим, разрывая подключение), команда copy /z позволяет продолжить копирование после восстановления подключения. Кроме того, параметр /z позволяет отобразить сведения о завершении операции копирования в процентах для каждого файла.
  • Использование внешних устройств в операциях копирования. В качестве параметров источник и назначение можно указать имена устройств.
  • Если в параметре назначение указано устройство (например Com1 или Lpt1), параметр /b позволяет скопировать данные на это устройство в двоичном режиме. В двоичном режиме команда copy /b копирует все символы (включая управляющие символы, такие как CTRL+C, CTRL+S, CTRL+Z и перевод строки) на устройство как данные. Однако если параметр /b не указан, данные копируются на устройство в формате ASCII. В этом режиме управляющие символы могут вызвать слияние файлов в системе Windows XP в процессе копирования. Дополнительные сведения см. в разделе «Слияние файлов».
  • Если конечный файл не задан, по умолчанию файлы будут скопированы с тем же именем, датой и временем создания в текущий каталог на текущем диске. Если исходный файл находится в текущем каталоге на текущем диске, выполнение команды copy завершается и выводится следующее сообщение об ошибке:

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

Чтобы скопировать файл Memo.doc в файл Letter.doc на текущем диске и убедиться, что символ конца файла находится в конце скопированного файла, введите следующую команду:

Чтобы скопировать файл Robin.typ с текущего каталога на текущем диске в существующий каталог Birds на диске C, введите следующую команду:

Если каталог Birds не существует, файл Robin.typ будет скопирован в файл с именем Birds в корневой каталог диска C.

Чтобы скопировать несколько файлов в один, перечислите несколько файлов в параметре источник, разделяя их имена значком плюс (+), и укажите в параметре назначение файл, который должен содержать результат объединения этих файлов. Например, чтобы объединить файлы Mar89.rpt, Apr89.rpt и May89.rpt из текущего каталога на текущем диске и поместить их в файл Report в текущем каталоге на текущем диске, введите следующую команду:

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

Кроме того, несколько файлов можно объединить в один с помощью символов подстановки (* или ?). Например, чтобы объединить все файлы с расширением .txt в текущем каталоге на текущем диске в файл Combin.doc, введите следующую команду:

Если требуется объединить несколько двоичных файлов в один с использованием подстановочных знаков, воспользуйтесь параметром /b. В результате CTRL+Z не будет рассматриваться как символ конца файла в Windows XP. Например, введите следующую команду:

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

В следующем примере команда copy объединяет каждый файл с расширением .txt с соответствующим ему файлом с расширением .ref. Результатом является файл с тем же именем, но с расширением .doc. Таким образом, команда copy объединит файлы File1.txt и File1.ref в файл File1.doc, затем файлы File2.txt и File2.ref в файл File2.doc и т. д. Например, введите следующую команду:

Name already in use

windowsserverdocs / WindowsServerDocs / administration / windows-commands / xcopy.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink
  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

Copies files and directories, including subdirectories.

For examples of how to use this command, see Examples.

Parameter Description
<Source> Required. Specifies the location and names of the files you want to copy. This parameter must include either a drive or a path.
[<Destination>] Specifies the destination of the files you want to copy. This parameter can include a drive letter and colon, a directory name, a file name, or a combination of these.
/w Displays the following message and waits for your response before starting to copy files:
Press any key to begin copying file(s)
/p Prompts you to confirm whether you want to create each destination file.
/c Ignores errors.
/v Verifies each file as it is written to the destination file to make sure that the destination files are identical to the source files.
/q Suppresses the display of xcopy messages.
/f Displays source and destination file names while copying.
/l Generates a list of files that are to be copied, but does not actively copy the files.
/g Creates decrypted destination files when the destination does not support encryption.
/d [:MM-DD-YYYY] Copies source files changed on or after the specified date only. If you do not include a MM-DD-YYYY value, xcopy copies all source files that are newer than existing destination files. This command-line option allows you to update files that have changed.
/u Copies files from source that exist on destination only.
/i If source is a directory or contains wildcards and destination does not exist, xcopy assumes destination specifies a directory name and creates a new directory. Then, xcopy copies all specified files into the new directory. By default, xcopy prompts you to specify whether destination is a file or a directory.
/s Copies directories and subdirectories, unless they are empty. If you omit /s, xcopy works within a single directory.
/e Copies all subdirectories, even if they are empty. Use /e with the /s and /t command-line options.
/t Copies the subdirectory structure (that is, the tree) only, not files. To copy empty directories, you must include the /e command-line option.
/k Copies files and retains the read-only attribute on destination files if present on the source files. By default, xcopy removes the read-only attribute.
/r Copies read-only files.
/h Copies files with hidden and system file attributes. By default, xcopy does not copy hidden or system files
/a Copies only source files that have their archive file attributes set. /a does not modify the archive file attribute of the source file. For information about how to set the archive file attribute by using attrib, see Related links.
/m Copies source files that have their archive file attributes set. Unlike /a, /m turns off archive file attributes in the files that are specified in the source. For information about how to set the archive file attribute by using attrib, see Related links.
/n Creates copies by using the NTFS short file or directory names. /n is required when you copy files or directories from an NTFS volume to a FAT volume or when the FAT file system naming convention (that is, 8.3 characters) is required on the destination file system. The destinatio* file system can be FAT or NTFS.
/o Copies file ownership and discretionary access control list (DACL) information.
/x Copies file audit settings and system access control list (SACL) information (implies /o).
/exclude:FileName1[+[FileName2]][+[FileName3]( )] Specifies a list of files. At least one file must be specified. Each file will contain search strings with each string on a separate line in the file. When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied. For example, specifying the string obj will exclude all files underneath the directory obj or all files with the .obj extension.
/y Suppresses prompting to confirm that you want to overwrite an existing destination file.
/-y Prompts to confirm that you want to overwrite an existing destination file.
/z Copies over a network in restartable mode.
/b Copies the symbolic link instead of the files. This parameter was introduced in Windows Vista®.
/j Copies files without buffering. Recommended for very large files. This parameter was added in Windows Server 2008 R2.
/compress Request network compression during file transfer where applicable.
/? Displays help at the command prompt.

Using /z

If you lose your connection during the copy phase (for example, if the server going offline severs the connection), it resumes after you reestablish the connection. /z also displays the percentage of the copy operation completed for each file.

Using /y in the COPYCMD environment variable.

You can use /y in the COPYCMD environment variable. You can override this command by using /-y on the command line. By default, you are prompted to overwrite.

Copying encrypted files

Copying encrypted files to a volume that does not support EFS results in an error. Decrypt the files first or copy the files to a volume that does support EFS.

To append files, specify a single file for destination, but multiple files for source (that is, by using wildcards or file1+file2+file3 format).

Default value for destination

If you omit destination, the xcopy command copies the files to the current directory.

Specifying whether destination is a file or directory

If destination does not contain an existing directory and does not end with a backslash (), the following message appears:

Press F if you want the file or files to be copied to a file. Press D if you want the file or files to be copied to a directory.

You can suppress this message by using the /i command-line option, which causes xcopy to assume that the destination is a directory if the source is more than one file or a directory.

Using the xcopy command to set archive attribute for destination files

The xcopy command creates files with the archive attribute set, whether or not this attribute was set in the source file. For more information about file attributes and attrib, see Related links.

Comparing ** xcopy ** and diskcopy

If you have a disk that contains files in subdirectories and you want to copy it to a disk that has a different format, use the xcopy command instead of diskcopy. Because the diskcopy command copies disks track by track, your source and destination disks must have the same format. The xcopy command does not have this requirement. Use xcopy unless you need a complete disk image copy.

Exit codes for xcopy

To process exit codes returned by xcopy , use the ErrorLevel parameter on the if command line in a batch program. For an example of a batch program that processes exit codes using if, see Related links. The following table lists each exit code and a description.

1. To copy all the files and subdirectories (including any empty subdirectories) from drive A to drive B, type:

2. To include any system or hidden files in the previous example, add the /h command-line option as follows:

3. To update files in the \Reports directory with the files in the \Rawdata directory that have changed since December 29, 1993, type:

4. To update all the files that exist in \Reports in the previous example, regardless of date, type:

5. To obtain a list of the files to be copied by the previous command (that is, without actually copying the files), type:

The file xcopy.out lists every file that is to be copied.

6. To copy the \Customer directory and all subdirectories to the directory \\Public\Address on network drive H:, retain the read-only attribute, and be prompted when a new file is created on H:, type:

7. To issue the previous command, ensure that xcopy creates the \Address directory if it does not exist, and suppress the message that appears when you create a new directory, add the /i command-line option as follows:

8. You can create a batch program to perform xcopy operations and use the batch if command to process the exit code if an error occurs. For example, the following batch program uses replaceable parameters for the xcopy source and destination parameters:

To use the preceding batch program to copy all files in the C:\Prgmcode directory and its subdirectories to drive B, type:

The command interpreter substitutes C:\Prgmcode for %1 and B: for %2, then uses xcopy with the /e and /s command-line options. If xcopy encounters an error, the batch program reads the exit code and goes to the label indicated in the appropriate IF ERRORLEVEL statement, then displays the appropriate message and exits from the batch program.

9. This example copies all the non-empty directories, plus files with the associated file extension after the asterisk symbol.

Как скопировать файл (папку) в командной строке Windows

При работе в командной строке (cmd) часто возникает необходимость скопировать файл или целую папку. Также консольные команды для копирования могут использоваться в BAT-файлах для резервного копирования и других задачах.

В этой статье мы расскажем о том, как скопировать файл или папку в командной строке Windows. Статья будет актуальной для всех версий Windows, включая самые новые Windows 11 и Windows 10.

Как скопировать файл через командную строку Windows

Для копирования файлов в командной строке Windows нужно использовать команду « copy ». Данная команда позволяет скопировать один или несколько файлов из одной папку в другую. Обратите внимание, команда « copy » копирует только файлы. Для копирования вложенных папок нужно использовать команду «x copy », которую мы рассмотрим ниже.

В самом простом случае команда для копирования файлов выглядит так:

Например, чтобы скопировать файл « file1.txt » из текущего каталога в папку « e:\tmp » нужно выполнить:

скопировать файл в папку

При необходимости для копируемого файла можно указать новое название в папке назначения. Например, чтобы скопировать « file1.txt » из текущего каталога в папку « e:\tmp » и при этом назвать его « newfile.txt » нужно выполнить:

указать новое название файла в папке назначения

С указанием полных путей команда копирования будет выглядеть так:

копирование с указанием полных путей

Для копирования большого количества файлов в названиях можно использовать маски. Символ звездочка (*) обозначает любое количество любых символов, а знак вопроса (?) – один любой символ. Например, чтобы скопировать все документы с расширением TXT из текущего каталога в папку « e:\tmp\ » нужно выполнить следующее:

копирование с использованием маски

Также с помощью команды « copy » можно скопировать все содержимое одной папки в другую. Например, в случае копирования всех файлов из папки « d:\tmp\ » в папку « e:\tmp » команда будет выглядеть так:

скопировать все содержимое одной папки в другую

В данном случае из папки « d:\tmp\ » будут скопированы только файлы. Для копирования вложенных папок нужно использовать « xcopy ».

Полный синтаксис команды « copy » выглядит так:

Полный список параметров для команды « copy »:

Параметр Описание
/d Сохранение копируемых зашифрованные файлов в расшифрованном виде в месте назначения.
/v Проверка правильности записи скопированных файлов.
/n Использование короткого имени файла (если доступно) при копировании файла с именем длиннее восьми символов или с расширением длиннее трех символов.
/y Подавление запроса на подтверждение перезаписи.
/-y Вывод запроса на подтверждение перезаписи.
/z Копирует сетевые файлы в перезапускаемом режиме.
/a Копирование текстового файла ASCII.
/b Копирование двоичного файла.
<source> Указывает расположение, из которого необходимо скопировать один или несколько файлов. Обязательный параметр.
<destination> Указывает расположение, в которое необходимо скопировать файл или несколько файлов. Обязательный параметр.
/? Отображение справки в командной строке.

Большинство параметров указываются в начале, сразу после команды « copy ». Например, для того чтобы подавить вывод запросов на перезапись существующих файлов можно добавить параметр «/y».

Как скопировать папку через командную строку Windows

Для копирования папок с вложенными папками и файлами в командной строке Windows нужно использовать команду « xcopy ». Данная команда позволяет скопировать папку из одного расположение в другое с сохранением структуры каталогов. Фактически « xcopy » — это более продвинутая версия команды « copy ».

В упрощенном виде синтаксис команды « xcopy » будет выглядеть так:

Для копирования папок с вложенными папками и файлами нужно использовать параметр « /s » или « /e ». Без этих параметров команда будет работать только с одним каталогом.

Параметр Описание
/s Копирование каталогов с подкаталогами (исключая пустые)
/e Копирование каталогов с подкаталогами (включая пустые).

Например, для того чтобы скопировать все файлы и вложенные папки (включая пустые) из папки « d:\tmp » в папку « e:\tmp » нужно выполнить:

скопировать все файлы и вложенные папки

Полный синтаксис команды « xcopy » выглядит так:

Полный список параметров для команды « xcopy » можно посмотреть на сайте Майкрософт. Здесь же приведены только некоторые самые базовые:

Параметр Описание
/s Копирование каталогов с подкаталогами (исключая пустые)
/e Копирование каталогов с подкаталогами (включая пустые).
/w Вывод запроса на подтверждения начала копирования.
/p Запрос подтверждение при создании каждого нового файла.
/c Пропуск ошибок.
/v Проверка всех скопированных файлов на соответствие его исходнику.
/q Скрывает вывод информации от команды xcopy.
/f Вывод имен в процессе копирования.
/l Вывод списка копируемых файлов.
/g Сохранение новых файлов в незашифрованном виде.
/d[:мм-дд-гггг] Копирование файлов, которые были измененные не ранее указанной даты. Если не указать дату (мм-дд-гггг), то команда xcopy будет копировать все файлы, которые новее существующих.
/u Обновление только существующих файлов в папке назначения.
/y Подавление запроса на подтверждение перезаписи.
/-y Вывод запроса на подтверждение перезаписи.
/z Копирует сетевые файлы в перезапускаемом режиме.
/h Копирование скрытых и системных файлов.
/r Перезапись файлов с атрибутом «только для чтения».
/t Создание структуры каталогов без копирования файлов. Пустые каталоги не включаются в структуру. Для включения пустых каталогов нужно добавить параметр /E.
<source> Указывает расположение, из которого необходимо скопировать один или несколько файлов. Обязательный параметр.
<destination> Указывает расположение, в которое необходимо скопировать файл или несколько файлов. Обязательный параметр.
/? Отображение справки в командной строке.

Параметры указываются в конце команды. Например, для того чтобы скопировать все файлы (включая скрытые, системные и только для чтения) и вложенные папки (включая пустые) из папки « d:\tmp » в папку « e:\tmp » нужно выполнить:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *