Параметры команды copy. Команда XCOPY - копирование файлов и каталогов. Работа с файлами в командной строке

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

Параметры утилиты XCOPY

xcopy источник [результат] ] ] [{/a|/m}] ][+[файл3]] [{/y|/-y}]

  • источник - Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь.
  • результат - Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию.
  • /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 - Копирует по сети в режиме перезапуска.

Примеры команды XCOPY

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

Копирование файла 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 может также объединять (склеивать) нескольких файлов в один.

Для этого необходимо указать единственный результирующий файл и несколько исходных. Это достигается путем использования групповых знаков (? и *) или формата файл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 имеет и свои недостатки. Например, с ее помощью нельзя копировать скрытые и системные файлы, файлы нулевой длины, файлы из подкаталогов. Кроме того, если при копировании группы файлов COPY встретит файл, который в данный момент нельзя скопировать (например, он занят другим приложением), то процесс копирования полностью прервется, и остальные файлы не будут скопированы.

Команда XCOPY

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

XCOPY может работать только с файлами и каталогами, но не с устройствами.

Синтаксис этой команды: XCOPY источник [результат] [ключи]

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

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

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

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

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

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

Команда 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 байт свободно

Команды 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, нужно ввести такую команду:

Если файл с именем файл2 уже существует, то команда REN прекратит выполнение, и произойдет вывод сообщения, что файл уже существует или занят.

Команда MOVE

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

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

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

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

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

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

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

Очистка экрана командной строки.

Для очистки экрана от текста служит директива cls .

Текст в окне командной строки
Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут. Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Edit.(Изменить) Или же просто щелкните правой кнопкой по окну. Для копирования текста из окна выберите пункт Mark (Пометить) и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Copy. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Paste (вставить).

Повторного выполнения команды.

Для повторного выполнения команды воспользуйтесь стрелками «вверх» и «вниз», позволяющими перемещаться по списку выполненных команд.

Команды для обслуживания жестких дисков

Команда defrag .

Оптимизацию жесткого диска позволяет выполнить команда defrag .

Утилита умеет дефрагментировать диски с файловой системой FAT, FAT32 и NTFS. Defrag одинаково хорошо работает как с динамическим типом диска, так и с базовым. Синтаксис вызова этой команды следующий:

defrag диск [ -a j [ -f ] [ -v ] [ -? ]

Параметр -а предусматривает только анализ информации на диске, параметр;

F - оптимизацию информации, в том числе и при отсутствии необходимого дискового пространства для создания временных файлов, а параметр;

V - вывод отчета о ходе оптимизации.

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

Команда diskpart

Команда fdisk уже не поддерживается ядром ОС начиная с Windows Server 2003.

На смену ей пришла команда diskpart , также предназначенная для обслуживания жестких дисков. Разбить диск на разделы, создать логические диски, удалить их - вот лишь некоторые задачи, решаемые этой утилитой.

В основном команда diskpart ориентирована на работу со специальными файлами-сценариями, в которых описаны процедуры обслуживания жестких дисков.

Утилита Systeminfo

Утилита Systeminfo предоставляет детальную информацию о конфигурации компьютера и его операционной системе: имя ПК, тип установленной ОС, ее версию, количество процессоров, их тактовую частоту и многое другое.

Кроме всего прочего, с помощью этой утилиты вы сможете отследить, сколько времени ОС работает без перезагрузки.

Утилита Shutdown

С помощью утилиты Shutdown выключается или перезагружается локальный или удаленный компьютер.

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

Утилита taskkill.

В Windows XP появилась возможность завершать задачи из командной строки.

Это можно сделать с помощью утилиты taskkill.

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

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

Например, команда tasklist /fi "status eq not responding" выведет на экран список всех зависших задач, а команда taskkill /f /fi "username eq Guest" завершит все задания, запущенные пользователем Guest.

Команда openfiles /query.

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

Команда openfiles /disconnect отключает удаленных пользователей от общих файлов на вашем компьютере.

Команда Fsutil hardlink
Команда Fsutil hardlink принимает всего один параметр - create.

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

Допустим, имеется файл d:1.avi, занимающий 600 Мб. Воспользовавшись командой fsutil hardlink create d:2.avi d:1.avi, вы создаете жесткую ссылку на этот файл. В результате вы получите два файла, но объем занимаемого дискового пространства не изменится. Хотя если Вы выделите эти два файла, Вам будет показано, что они занимают 1200 мегабайт. Таким образом Вы можете создать неограниченное число копий какого-либо файла, при том что на занятом пространстве диска это никак не отразится. Причем если удалить один из таких клонов, все остальные останутся без изменений. Для того чтобы уничтожить исходный файл придется удалить все жесткие ссылки на него. Но у этой команды есть ограничения: все файлы должны быть в пределах одного тома, и файловая система - только NTFS (NT File System).

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

Синтаксис

copy [/d ] [/v ] [/n ] [{/y | /-y }] [/z ] [{/a |/b }] источник [{ /a |/b }] [+ источник [{/a |/b }] [ + ...]] [назначение [{/a |/b }]]

Параметры

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

Примечания

  • Имеется возможность скопировать текстовый файл, в котором используется символ конца файла (CTRL+Z) для обозначения конца файла.
  • Использование параметра /a

    Если параметр /a /b команды copy . В этом случае /b /b .

    Если параметр /a /b команды copy . В этом случае /b применяется к файлу, предшествующему /b .

    /a /a стоит после параметра источник , команда copy обрабатывает файл как текстовый в формате ASCII и копирует данные, которые находятся перед первым символом конца файла.

    Если параметр /a расположен после параметра назначение , команда copy добавляет символ конца файла как последний символ файла.

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

    Параметр /b задает считывание командным процессором количества байт, равного размеру файла в каталоге. Параметр /b задается по умолчанию для команды copy , за исключением случаев использования copy для слияния файлов.

    Если параметр /b стоит перед списком файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /a команды copy . В этом случае /a применяется к файлу, предшествующему /a .

    Если параметр /b стоит после списка файлов в командной строке, он применяется ко всем файлам, перечисленным до параметра /a команды copy . В этом случае /a применяется к файлу, предшествующему /a .

    Результат применения параметра /b зависит от его положения в командной строке. Если параметр /b стоит после параметра источник , команда copy копирует файл целиком, включая все символы конца строки.

    Если параметр /b стоит после параметра назначение , команда copy не добавляет символ конца строки.

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

    Если операция записи не может быть проверена, выводится сообщение об ошибке. Хотя ошибки записи редко возникают при работе с командой copy , параметром /v можно воспользоваться для проверки правильности записи важных данных. Параметр /v также завершает работу команды copy , поскольку необходимо проверить каждый сектор, записанный на диск.

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

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

  • Объединение файлов

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

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

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

  • Использование внешних устройств в операциях копирования

    В качестве параметров источник и назначение можно указать имена устройств.

  • Использование параметра /b при копировании на устройство

    Если в параметре назначение указано устройство (например Com1 или Lpt1), параметр /b позволяет скопировать данные на это устройство в двоичном режиме. В двоичном режиме команда copy /b копирует все символы (включая управляющие символы, такие как CTRL+C, CTRL+S, CTRL+Z и перевод строки) на устройство как данные. Однако если параметр /b не указан, данные копируются на устройство в формате ASCII. В этом режиме управляющие символы могут вызвать слияние файлов в системе Windows XP в процессе копирования. Дополнительные сведения смотрите в разделе «Слияние файлов».

  • Использование стандартного имени конечного файла

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

    Невозможно скопировать файл в себя

    Скопировано файлов: 0

  • Слияние файлов

    Если введено несколько параметров источник , разделенных знаком плюс (+), команда copy объединяет файлы в один. Если в параметре источник использованы подстановочные знаки (* или?), а в параметре назначение задан один файл, команда copy объединит все файлы, удовлетворяющие шаблону в параметре источник , в один с именем, указанным в параметре назначение . В обоих случаях, если не задан параметр /b , команда copy объединяет файлы как текстовые.

  • Копирование файлов нулевой длины

    Команда Copy не копирует файлы, которые имеют длину, равную 0 байт. Для выполнения этой операции служит команда xcopy .

  • Изменение даты и времени модификации файла

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

    copy /b источник + ,

    Запятые заменяют параметр назначение .

  • Копирование файлов в подкаталогах

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

  • Команда copy с другими параметрами доступна в консоли восстановления.

Примеры

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

copy memo.doc letter.doc /a

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

copy robin.typ c:\birds

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

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

copy mar89.rpt + apr89.rpt + may89.rpt report

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

copy report + mar89.rpt + apr89.rpt + may89.rpt

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

copy *.txt combin.doc

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

copy /b *.exe combin.exe

Внимание!

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

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

copy *.txt + *.ref *.doc

Чтобы объединить сначала все файлы с расширением.txt, а затем все файлы с расширением.ref в файл Combin.doc, введите следующую команду.

Содержимое:

Командная строка Windows – это мощный инструмент, посредством которого можно контролировать систему (без использования проводника). Изучив команды копирования, вы сможете удаленно работать с Windows. Это также полезно, если вы хотите повысить эффективность работы на вашем компьютере.

Шаги

Перед началом

  1. 1 Определите, какую команду использовать. Есть несколько способов копирования файлов через командную строку. Любая команда скопирует файлы, но, возможно, в определенных случаях вы предпочтете какую-то конкретную команду.
    • COPY – это основная команда копирования. Она позволит скопировать, а также объединить файлы.
    • ХCOPY – эта команда позволит скопировать файлы и папки. Также у этой команды есть множество параметров, которые предоставляют повышенный контроль над процессом копирования. Эта команда считается устаревшей, но все равно используется.
    • ROBOCOPY – это новейшая команда копирования, доступная в Windows Vista или более поздней версии. Пользователи Windows XP могут установить пакет, чтобы пользоваться этой командой. Эта команда копирует файлы и папки, сохраняя права доступа и другие атрибуты. Она также предназначена для надежного копирования больших объемов данных.

1 COPY

  1. 1 Скопируйте один файл. Команду copy лучше всего использовать при копировании одного файла. Чтобы использовать эту команду, введите copy источник цель. Например, чтобы скопировать файл example.txt из папки C:UsersDesktop в папку D:Backup, введите следующую команду: copy C:UsersdesktopExample.txt D:ackupExample.txt
    • Необходимо ввести имена копируемого и конечного файлов. Так можно переименовать копируемый файл (если хотите).
    • Чтобы скопировать файл из текущей (активной) папки, просто введите имя файла (вместо «источник»). Например, если в рассмотренном выше примере вы находитесь в папке C:UsersDesktop, то команда копирования будет выглядеть так: copy Example.txt D:ackupExample.txt
  2. 2 Скопируйте все файлы в папке. Для этого используйте групповой символ *.* . Например, чтобы скопировать все файлы из папки C:UsersDesktop в папку D:Backup, введите следующую команду: copy C:Usersdesktop*.* D:ackup
    • Команда copy не копирует скрытые файлы. Для этого используйте команду xcopy или robocopy .
    • Можно скопировать все файлы из текущей (активной) папки, просто введя *.* (вместо «источник»). Например, если в рассмотренном выше примере вы находитесь в папке C:UsersDesktop, то команда копирования будет выглядеть так: copy *.* D:ackup .
  3. 3 Скопируйте файлы, если в именах файлов или папок (начальных или конечных) присутствуют пробелы. В этом случае заключите пути к файлам/папкам в кавычки. Например, чтобы скопировать все файлы из папки C:UsersMy Documents в папку D:2015 Backup, введите команду: copy "C:UsersMy Documents*.*" "D:2015 Backup"
  4. 4 Объедините текстовые файлы. Команда copy может объединять любые файлы, но это особенно полезно в случае с текстовыми файлами. Благодаря следующей команде тексты из первого и второго файлов будут объединены в одном новом файле. copy file1.txt+file2.txt newFile.txt
    • Эта команда предполагает, что файлы file1.txt и file2.txt находятся в текущей (активной) папке. Если это не так, вводите имена файлов с полными путями к ним.

2 XCOPY

  1. 1 Скопируйте один файл. Чтобы скопировать один файл, лучше пользоваться командой copy . Команда xcopy не позволит указать, задаете ли вы в качестве места назначения папку или файл.
  2. 2 Используйте команду robocopy , если вы создаете скрипты резервного копирования. Команда xcopy устарела и, вероятно, выйдет из употребления в ближайшем будущем. Команда robocopy умеет делать все, что делает команда xcopy .
  3. 3 Скопируйте папку. Основное применение команды xcopy – это копирование папок. Например, чтобы скопировать папку C:Tools в новую папку D:BackupTools, введите следующую команду: xcopy C: ools* D:ackup ools /e /i
    • Параметр /e сообщает команде xcopy , что необходимо скопировать все подпапки (включая пустые подпапки).
    • Параметр /i сообщает команде xcopy , что местом назначения является папка. Таким образом, команда автоматически создаст новую папку.
    • Эта команда наиболее полезна при копировании файлов с CD/DVD-диска. Она также автоматически снимет атрибут «Только для чтения».
  4. 4 Скопируйте скрытые файлы. Одним из самых больших преимуществ xcopy над copy является возможность копировать скрытые и системные файлы. Добавьте параметр /h , чтобы скопировать скрытые файлы. xcopy C: ools* D:ackup ools /e /i /h

3 ROBOCOPY

  1. 1 При помощи команды robocopy легко копировать папки. Команда robocopy заменяет команду xcopy . Например, чтобы скопировать папку C:Tools в новую папку D:BackupTools, введите следующую команду: robocopy C: ools D:ackup ools /e
    • Параметр /e сообщает команде, что необходимо скопировать все подпапки (включая пустые подпапки).
    • Эта команда автоматически копирует скрытые и системные файлы. Она автоматически создает новые папки, если их нет в указанном месте назначения.
  2. 2 Отзеркаливание директории. Оно отлично подходит для создания резервных копий. В этом случае команда robocopy скопирует все содержимое из источника в указанное место назначение. При этом любой контент, хранящийся в месте назначения, но которого нет в источнике, будет удален. Это гарантирует, что резервная копия будет иметь только последние версии файлов. Например, чтобы отзеркалить директорию C:UsersMy Documents в папке D:BackupMy Documents, введите: robocopy "C:UsersMy Documents" "D:ackupMy Documents" /mir
    • Эта команда сохранит все разрешения исходных файлов.
  3. 3 Включите перезапуск. Можно включить перезапуск копирования, если что-то произошло в процессе предыдущего копирования. robocopy "C:UsersMy Documents" "D:ackupMy Documents" /z
  4. 4 Запишите процесс копирования. Команда robocopy позволяет создавать журналы процессов копирования. Это поможет вам определить источник проблем с копированием или создать архив со списком скопированного контента. robocopy "C:UsersMy Documents" "D:ackupMy Documents" /log+:.txt
    • Параметр /log+ добавит информацию в существующий журнал (без удаления предыдущих записей). Если вы хотите перезаписать старый журнал, используйте /log:<имя_файла>.txt .

В отличии от утилиты COPY, команда XCOPY тоже дает возможность скопировать файл через командную строку, но имеет большее количество функции. Однако, стоит отметить, что XCOPY дает возможность работать лишь с файлами и каталогами, но не с устройствами (например, принтер). Но, как всегда, сначала немного лирики…

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

Командная строка xcopy

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

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

Источник – указываем путь к файлу (файлам), который нужно скопировать.

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

/V – как и в предшествующей версии, данный параметр отвечает за проверку телесности документов, но, уже не является обязательным, поскольку проверка осуществляется самой системой. Он остался лишь для совместимости с предыдущими версиями MS-DOS.

/EXCLUDE:файл1[+файл 2][+ файл 3]… – позволяет исключить несколько файлов или папок из процесса копирования. Тут все просто, надо только указать имена объектов, которые следует исключить, но, нельзя использовать спецсимволы, типа «*» и «?». Ключи файл1, файл2, … указывают на документы, в которых прописаны строки, каждая строка должна находится в отдельной линии. Если же хоть одна из строк будет совпадать с любой частью абсолютного пути копируемого документа, то скопировать с помощью командной строки данный файл не получится. Допустим в каталоге D:DATA есть три документа с расширением txt: data1.txt, data2.txt и data3.txt. Откроем CMD и пропишем в ней следующие команды:

echo data1.txt>exclude.txt

echo data2.txt>>exclude.txt

В данном примере мы создали в текущем каталоге текстовый документ exlude.txt, в котором прописаны две строчки data1.txt и data2.txt. Символ «>>» отличается от символа «>» только тем, что дописывает данные в конец документа, а не затирает все содержимое новой информацией. Ладно, теперь попробуем выполнить следующие директивы:

XCOPY *.txt D:DATA /EXCLUDE: exclude.txt – в данном примере из текущей папки в папку D:DATA мы скопировали все документы с расширение txt кроме файлов data1 и data2.

Другой пример, если указать строки вида OBJ или.OBJ, то из процесса будут исключены все объекты из папки OBJ и все объекты с расширением.OBJ.

/Z – позволяет дублировать сетевые документы с возобновлением.

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

и /M – задаем режим для архивных документов. Первый ключ после дублирования объекта оставляет у него атрибут «Архивный», второй же ключ отключает этот атрибут по завершении процесса манипуляций.

/O – данный параметр позволяет скопировать только те данные, которые были изменены не ранее указанной даты (дата у указывается в атрибуте /D[:дата], если сама дата не указана, то копирование будет производиться, только если источник новее результата). Например:

XCOPY "С:My document*.*" "D:RESERVEMy document" /D

Тут будет произведено копирование только тех файлов через командную строку, которые были изменены со времени последнего подобного манипулирования или которых вообще не было в D: RESERVEMy document.

/S – данный ключ указывает, что кроме документов надо произвести и копирование папки, при условии, что она (они) не является пустой.

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

/W – будет включен режим запроса на нажатие любой клавиши перед началом дублирования.

/C – процесс копирования будет продолжен, даже если произошла ошибка

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

XCOPY *.txt TEXT /I

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

/Q – этот ключ не будет отображать имена во время процесса

/F – этот ключ будет отображать полные пути источника и результата во время процесса

/L – это ключ всего-навсего отобразит те документы, которые надо скопировать, при этом сам процесс не произойдет.

/H – позволяет дублировать скрытые и системные документы.

/K - заменять объекты с атрибутом “Только для чтения”

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

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

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

/N – копирование с помощью командной строки с использованием сгенерированных коротких имен.

Как уже упоминалось выше, при использовании утилит COPY и XCOPY информация о прежнем владельце затирается. Что бы этого не происходило, можно воспользоваться командой SCOPY из пакета Resource Kit , которая имеет следующий синтаксис:

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

– позволяет дублировать информацию о владельце

– дублирование информации связанной с аудитом доступа к файлу или каталогу

/S – копирование файлов через командную строку из всех подкаталогов указанного каталога.

Запись в потоки NTFS

И еще, хотелось бы вспомнить о таком понятии как «копирование в потоки». Данный вопрос я частично затронул в статье с примерами по при описании метода объект FileSystemObject. Данная возможность предоставляется только на файловой системе NTFS. В простом варианте суть дела такова, к каждому документу или диску можно привязать свой поток, и записать информацию непосредственно в поток, то есть, информация будет записана, но сам документ не изменит своего размера. Давайте проделаем простенький эксперимент, пропишем в командной строке:

echo “Hellow, word”>new.txt:potok.txt – в данном примере мы создали текстовый документ new.txt, а фразу Hellow, word скопировали в поток potok.txt. Если выполнить команду notepad new.txt, то мы ничего не увидим, но, если выполнить так:

notepad new.txt.potok.txt – то мы увидим заветную фразу Hellow, word.

Командная строка xcopy команда.

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




Top