Как скопировать файл (папку) в командной строке Windows
При работе в командной строке (cmd) часто возникает необходимость скопировать файл или целую папку. Также консольные команды для копирования могут использоваться в BAT-файлах для резервного копирования и других задачах.
В этой статье мы расскажем о том, как скопировать файл или папку в командной строке Windows. Статья будет актуальной для всех версий Windows, включая самые новые Windows 11 и Windows 10.
Содержание
- Как скопировать файл через командную строку Windows
- Как скопировать папку через командную строку Windows
Как скопировать файл через командную строку Windows
Для копирования файлов в командной строке Windows нужно использовать команду «copy». Данная команда позволяет скопировать один или несколько файлов из одной папку в другую. Обратите внимание, команда «copy» копирует только файлы. Для копирования вложенных папок нужно использовать команду «xcopy», которую мы рассмотрим ниже.
В самом простом случае команда для копирования файлов выглядит так:
copy [исходный файл] [новый файл или папка назначения]
Например, чтобы скопировать файл «file1.txt» из текущего каталога в папку «e:\tmp» нужно выполнить:
copy file1.txt e:\tmp
При необходимости для копируемого файла можно указать новое название в папке назначения. Например, чтобы скопировать «file1.txt» из текущего каталога в папку «e:\tmp» и при этом назвать его «newfile.txt» нужно выполнить:
copy file1.txt e:\tmp\newfile.txt
С указанием полных путей команда копирования будет выглядеть так:
copy d:\tmp\file1.txt e:\tmp\file.txt
Для копирования большого количества файлов в названиях можно использовать маски. Символ звездочка (*) обозначает любое количество любых символов, а знак вопроса (?) – один любой символ. Например, чтобы скопировать все документы с расширением TXT из текущего каталога в папку «e:\tmp\» нужно выполнить следующее:
copy *.txt e:\tmp\
Также с помощью команды «copy» можно скопировать все содержимое одной папки в другую. Например, в случае копирования всех файлов из папки «d:\tmp\» в папку «e:\tmp» команда будет выглядеть так:
copy d:\tmp\ e:\tmp
В данном случае из папки «d:\tmp\» будут скопированы только файлы. Для копирования вложенных папок нужно использовать «xcopy».
Полный синтаксис команды «copy» выглядит так:
copy [/d] [/v] [/n] [/y | /-y] [/z] [/a | /b] [/a | /b] [+ [/a | /b] [+ …]] [ [/a | /b]]
Полный список параметров для команды «copy»:
Параметр | Описание |
/d | Сохранение копируемых зашифрованные файлов в расшифрованном виде в месте назначения. |
/v | Проверка правильности записи скопированных файлов. |
/n | Использование короткого имени файла (если доступно) при копировании файла с именем длиннее восьми символов или с расширением длиннее трех символов. |
/y | Подавление запроса на подтверждение перезаписи. |
/-y | Вывод запроса на подтверждение перезаписи. |
/z | Копирует сетевые файлы в перезапускаемом режиме. |
/a | Копирование текстового файла ASCII. |
/b | Копирование двоичного файла. |
Указывает расположение, из которого необходимо скопировать один или несколько файлов. Обязательный параметр. | |
Указывает расположение, в которое необходимо скопировать файл или несколько файлов. Обязательный параметр. | |
/? | Отображение справки в командной строке. |
Большинство параметров указываются в начале, сразу после команды «copy». Например, для того чтобы подавить вывод запросов на перезапись существующих файлов можно добавить параметр «/y».
copy /y file1.txt file2.txt
Как скопировать папку через командную строку Windows
Для копирования папок с вложенными папками и файлами в командной строке Windows нужно использовать команду «xcopy». Данная команда позволяет скопировать папку из одного расположение в другое с сохранением структуры каталогов. Фактически «xcopy» — это более продвинутая версия команды «copy».
В упрощенном виде синтаксис команды «xcopy» будет выглядеть так:
xcopy [исходная папка или файл] [папка назначения или файл] [параметры]
Для копирования папок с вложенными папками и файлами нужно использовать параметр «/s» или «/e». Без этих параметров команда будет работать только с одним каталогом.
Параметр | Описание |
/s | Копирование каталогов с подкаталогами (исключая пустые) |
/e | Копирование каталогов с подкаталогами (включая пустые). |
Например, для того чтобы скопировать все файлы и вложенные папки (включая пустые) из папки «d:\tmp» в папку «e:\tmp» нужно выполнить:
xcopy d:\tmp e:\tmp /e
Полный синтаксис команды «xcopy» выглядит так:
xcopy [] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j]
Полный список параметров для команды «xcopy» можно посмотреть на сайте Майкрософт. Здесь же приведены только некоторые самые базовые:
Параметр | Описание |
/s | Копирование каталогов с подкаталогами (исключая пустые) |
/e | Копирование каталогов с подкаталогами (включая пустые). |
/w | Вывод запроса на подтверждения начала копирования. |
/p | Запрос подтверждение при создании каждого нового файла. |
/c | Пропуск ошибок. |
/v | Проверка всех скопированных файлов на соответствие его исходнику. |
/q | Скрывает вывод информации от команды xcopy. |
/f | Вывод имен в процессе копирования. |
/l | Вывод списка копируемых файлов. |
/g | Сохранение новых файлов в незашифрованном виде. |
/d[:мм-дд-гггг] | Копирование файлов, которые были измененные не ранее указанной даты. Если не указать дату (мм-дд-гггг), то команда xcopy будет копировать все файлы, которые новее существующих. |
/u | Обновление только существующих файлов в папке назначения. |
/y | Подавление запроса на подтверждение перезаписи. |
/-y | Вывод запроса на подтверждение перезаписи. |
/z | Копирует сетевые файлы в перезапускаемом режиме. |
/h | Копирование скрытых и системных файлов. |
/r | Перезапись файлов с атрибутом «только для чтения». |
/t | Создание структуры каталогов без копирования файлов. Пустые каталоги не включаются в структуру. Для включения пустых каталогов нужно добавить параметр /E. |
Указывает расположение, из которого необходимо скопировать один или несколько файлов. Обязательный параметр. | |
Указывает расположение, в которое необходимо скопировать файл или несколько файлов. Обязательный параметр. | |
/? | Отображение справки в командной строке. |
Параметры указываются в конце команды. Например, для того чтобы скопировать все файлы (включая скрытые, системные и только для чтения) и вложенные папки (включая пустые) из папки «d:\tmp» в папку «e:\tmp» нужно выполнить:
xcopy d:\tmp e:\tmp /e /h /r