CMD Command to Copy files with certain extension – Stack Overflow

Copy files on windows command line with progress

Some interesting timings regarding all these methods. If you have Gigabit connections, you should not use the /z flag or it will kill your connection speed. Robocopy or dism are the only tools that go full speed and show a progress bar. wdscase is for multicasting off a WDS server and might be faster if you are imaging 5 computers. To get the 1:17 timing, I was maxing out the Gigabit connection at 920Mbps so you won’t get that on two connections at once. Also take note that exporting the small wim index out of the larger wim file too longer than just copying the whole thing.

Model  Exe       OS       switches     index    size    time   link speed 
8760w  dism      Win8     /export-wim  index 1  6.27GB  2:21   link 1Gbps
8760w  dism      Win8     /export-wim  index 2  7.92GB  1:29   link 1Gbps
6305   wdsmcast  winpe32  /trans-file  res.RWM  7.92GB  6:54   link 1Gbps
6305   dism      Winpe32  /export-wim  index 1  6.27GB  2:20   link 1Gbps
6305   dism      Winpe32  /export-wim  index 2  7.92GB  1:34   link 1Gbps
6305   copy      Winpe32  /z           Whole    7.92GB  25:48  link 1Gbps
6305   copy      Winpe32  none         Wim      7.92GB  1:17   link 1Gbps
6305   xcopy     Winpe32  /z /j        Wim      7.92GB  23:54  link 1Gbps
6305   xcopy     Winpe32  /j           Wim      7.92GB  1:38   link 1Gbps
6305   VBS.copy  Winpe32               Wim      7.92    1:21   link 1Gbps
6305   robocopy  Winpe32               Wim      7.92    1:17   link 1Gbps

If you don’t have robocopy.exe available, why not run it from the network share you are copying your files from? In my case, I prefer to do that so I don’t have to rebuild my WinPE boot.wim file every time I want to make a change and then update dozens of flash drives.

Xcopy backup script

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

In this example, xcopy is designed to function as a backup solution. Try this if you’d like to use xcopy instead of a backup software program to back up your files. Put the command as shown above in a script and schedule it to run nightly.

As shown above, the command is used to copy all the files and folders [/s] newer than those already copied [/d], including empty folders [/e] and hidden files [/h], from source of C:

Important Files to the destination of D:Backup, which is a directory [/i]. We have some read-only files we want to keep updated in destination [/r] and we want to keep that attribute after being copied [/k].

We also want to make sure we maintain any ownership and audit settings in the files we’re copying [/x]. Finally, since we’re running xcopy in a script, we don’t need to see any information about the files as they’re copied [/q], We don’t want to be prompted to overwrite each one [/y], nor do we want the command to stop if it runs into an error [/c].

Xcopy command availability

This command is available from within the Command Prompt in all Windows operating systems including Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows 98, etc. See How to Open Command Prompt if you need help.

You can also access the command in MS-DOS as a DOS command.

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

Данный шедевр человеческой мысли позволяет произвести копирование (copy) через командную строку файла или файлов или даже их конкатенацию (объединение). Для решения подобных задач север сценариев Windows Script Host предоставляет в распоряжение метод CopyFile объекта FileSystemObject. Синтаксис утилиты командной строки copy, довольно устрашающий:

COPY  [/D] [/V] [/N] [/Y  | /-Y] [/Z] [/A | /B] источник [/A | /B] [ источник [/A | /B] [ …]] [результат [/A | /B]]

Давайте начнем:

/D – указывает на возможность создания зашифрованного файла.

/Y | /-Y – если выбран первый параметр, то будут отсутствовать запросы системы на подтверждение во время копирования (проще говоря, если придется топкой 1000 файлов копировать, то на каждый не будет выпрыгивать надоедливое “а вы уверены, или, может, другу позвоните?”), понятно, что второй параметр как раз то включает запрос подтверждения.

/Z – позволяет копировать данные по сети, кстати, в предыдущих вариантах данной утилиты этого ключа не наблюдалось.

/А – указывает, что файл является текстовым, если мы укажем данный параметр, то копирование прервется на метке конца файла ASCII код 26.

:/>  Использование командной строки для восстановления загрузчика Windows |

Если же данный параметр указан в самом конце, то эффект совсем другой. Произойдет полное копирование документа, но в копии будет добавлена метка конца файла если ее не было. Как результат, можете попробовать поэкспериментировать с pdf документом (my_file.pdf – размер документа составляет 247217 байт):

copy my_file.pdf/A new_file.pdf – на выходе мы получим документ new_file.pdf размером в 2538 байт.

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

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

И так командная строка, копирование файлов и парочка примеров:

Копирование через командную строку файла 123.txt из текущего каталога в каталог D:NEW под тем же именем:

COPY 123.txt D:NEW

Копирование файла 123.txt из текущего каталога в каталог D:NEW под новым именем new.txt:

COPY 123.txt D:NEWnew.txt

Копирование всех документов с расширением txt с диска D: в каталог My Data на диске C:

COPY D:*.txt “С:My Data”

Допустим, мы находимся в каталоге D:NEW и нам надо копирнуть в него все данные из каталога C:DATA, в таком случае достаточно прописать следующий синтаксис:

COPY C:DATA  *.*

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

COPY 1.txt 2.txt 3.txt– в данном примере содержимое документов 1.txt и 2.txt было объединено в 3.txt. Стоит помнить, что по дефолту, утилита COPY воспринимает данные как текстовые.

Вот пример с двоичными данными:

COPY /В *.dat all.dat – в данном варианте все данные с расширением dat из текущей папки были объединены в один файл all.dat.

Вообще, используя символ плюса « » и мысли типа «а что если», можно проделать парочку экспериментов. Также стоит помнить ряд моментов:

Если название целевого объекта совпадает с одним из копируемых (кроме первого), то исходное содержимое целевого объекта будет утеряно.

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

COPY l.txt 2.txt – тут мы добавили к содержимому первого объекта содержимое второго.

COPY 1.txt ,, – данная конструкция позволяет присвоить объекту 1.txt текущую дату без его модификации.

Утилита COPY по своему первенству содержит ряд недостатков:

В связи с такими неудобствами, умные люди подумали, и прибавили букву Х к названию COPY, чем решили массу проблем, создав утилиту XCOPY.

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

Фактически, отличие данной утилиты в том, что она умеет заменять данные. Синтаксис довольно простой и понятный:

REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2] [/А] [/Р] [/R] [/W]

REPLACE [диск1:][путь1]имя_файла [диск2:] [путь2] [/Р][/R][/S][/W][/U]

[диск1:] [путь1]имя_файла – определяем местонахождении копируемого объекта, или объектов.

[диск2:] [путь2] — определяем местонахождении объекта-результата. Как видно, имена замещаемых объектов задавать нельзя.

/А – добавляем в каталог-результат только новые объекты из каталога-результата (без перезаписи). Этот ключ нельзя использовать с ключами /S и / U.

/Р – выводится запрос на подтверждение перед заменой целевого или добавлением исходного файла.

/R – замещение не только обычных, но и защищенных от записи документов.

/S – позволяет производить поиск по всем подкаталогам целевого каталога и заменять файлы с совпадающими именами. Этот ключ нельзя использовать совместно с ключом /А. Поиск в каталогах, заданных параметром путь1, не производится.

/W – ожидание вставки диска перед началом выполнения

/U – режим обновления, то есть будут заменены только те объекты, которые имеют более раннюю дату модификации. Несовместимость с ключом /A.

Пример:

Replace D:Datamy_file.txt D:Work – в папке Work заменяем файл my_file.txt на D:Datamy_file.txt

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

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

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

xcopy a: b: /s /e

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

xcopy a: b: /s /e /h

Чтобы обновить файлы в каталоге Reports файлами из каталога Rawdata, измененными после 29 декабря 1993 года, введите:

xcopy rawdata reports /d:29-12-1993

Чтобы обновить файлы предыдущего примера, уже существующие в каталоге Reports, независимо от их даты, введите следующую команду:

xcopy rawdata reports /u

Чтобы получить списк файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:

xcopy rawdata reports /d:29-12-1993 /l > xcopy.out

Список файлов, которые были бы скопированы, находится в файле Xcopy.out.

:/>  ключи майкрософт 2021 - KEYS24.info

Чтобы скопировать каталог Customer и все подкаталоги \PublicAddress на сетевой диск H, сохранить у файлов атрибут «только для чтения», введите команду:

xcopy customer h:publicaddress /s /e /k /p

Чтобы выдать предыдущую команду, убедиться, что команда xcopy создает каталог Address и устранить вывод сообщение о создании нового каталога, добавьте параметр /i следующим образом:

xcopy customer h:publicaddress /s /e /k /p /i

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

Синтаксис команды xcopy

xcopy источник [ место назначения ] [/a ] [/b ] [/c ] [/d [: дата ]] [/e ] [ /f ] [/g ] [/h ] [/i ] [/j ] [/k ] [/l ] [/m ] [/n ] [/o ] [/p ] [/q ] [/r ] [/s ] [/t ] [/u ] [/v ] [/w ] [/x ] [/y ] [/- y ] [/z ] [/исключить: file1 [ file2 ] [ file3 ] … ] [ /? ]


См. Как читать синтаксис команды, если вы не уверены, как читать синтаксис команды xcopy выше или в таблице ниже.

Параметры команды Xcopy

Item Описание
Источник Это определяет файлы или папку верхнего уровня, из которой вы хотите скопировать. source является единственным обязательным параметром в команде xcopy. Используйте кавычки вокруг source , если он содержит пробелы.
назначения Этот параметр указывает место, куда должны быть скопированы файлы или папки source . Если пункт назначения не указан, файлы или папки будут скопированы в ту же папку, из которой вы запускаете команду xcopy. Используйте кавычки вокруг места назначения , если оно содержит пробелы.
При использовании этой опции будут копироваться только архивные файлы, найденные в источнике . Вы не можете использовать /a и /m вместе.
Используйте эту опцию для копирования самой символической ссылки вместо цели ссылки. Эта опция была впервые доступна в Windows Vista.
Этот параметр заставляет xcopy продолжать работу даже в случае ошибки.
/d [: дата ] Используйте команду xcopy с параметром /d и конкретной датой в формате MM-DD-YYYY для копирования файлов, измененных в эту дату или после нее. Вы также можете использовать эту опцию, не указывая конкретную дату, чтобы копировать только те файлы в источнике , которые новее тех же файлов, которые уже существуют в месте назначения . Это полезно при использовании команды xcopy для регулярного резервного копирования файлов.
При использовании отдельно или с /s этот параметр аналогичен /s , но в месте назначения также создаются пустые папки, которые были также пусто в источнике . Параметр /e можно также использовать вместе с параметром /t , чтобы включить пустые каталоги и подкаталоги, найденные в source , в структуру каталогов, созданную в назначения .
Этот параметр отображает полный путь и имя файла копируемых файлов source и destination .
Использование команды xcopy с этим параметром позволяет копировать зашифрованные файлы из источника в место назначения , которое не поддерживает шифрование. Этот параметр не будет работать при копировании файлов с диска с шифрованием EFS на диск без шифрования EFS.
Команда xcopy не копирует скрытые или системные файлы по умолчанию, но будет при использовании этой опции.
Используйте параметр /i , чтобы заставить xcopy предположить, что destination является каталогом.Если вы не используете эту опцию и копируете из source , который является каталогом или группой файлов, и копируете в destination , который не существует, xcopy Команда предложит вам указать, является ли пункт назначения файлом или каталогом.
Эта опция копирует файлы без буферизации, эта функция полезна для очень больших файлов. Этот параметр команды xcopy впервые был доступен в Windows 7.
Используйте эту опцию при копировании файлов только для чтения, чтобы сохранить этот атрибут файла в месте назначения .
Используйте эту опцию, чтобы показать список файлов и папок, которые нужно скопировать … но на самом деле копирование не выполняется. Параметр /l полезен, если вы создаете сложную команду xcopy с несколькими параметрами и хотите посмотреть, как она будет работать гипотетически.
Этот параметр идентичен параметру /a , но команда xcopy отключит атрибут архива после копирования файла. Вы не можете использовать /m и /a вместе.
/п Этот параметр создает файлы и папки в месте назначения , используя короткие имена файлов. Этот параметр полезен, только если вы используете команду xcopy для копирования файлов в место назначения , которое существует на диске, отформатированном в более старой файловой системе, такой как FAT, которая не поддерживает длинные имена файлов.
Сохраняет информацию о владельце и списке управления доступом (ACL) в файлах, записанных в место назначения .
При использовании этого параметра вам будет предложено создать каждый файл в месте назначения .
В отличие от параметра /f , переключатель /q переведет xcopy в «тихий» режим, пропуская отображение каждого файла на экране. скопированы.
Используйте эту опцию, чтобы перезаписать файлы только для чтения в месте назначения . Если вы не используете эту опцию, когда хотите перезаписать файл только для чтения в destination , вам будет выдано сообщение «Доступ запрещен», и команда xcopy прекратит работу.
/s Используйте этот параметр, чтобы копировать каталоги, подкаталоги и содержащиеся в них файлы, в дополнение к файлам в корне source . Пустые папки не будут воссозданы.
Этот параметр заставляет команду xcopy создавать структуру каталогов в destination , но не копировать какие-либо файлы. Другими словами, папки и подпапки, найденные в source , будут созданы, но там у нас нет файлов. Пустые папки не будут созданы.
Этот параметр будет копировать только те файлы в источнике , которые уже находятся в месте назначения .
/v Эта опция проверяет каждый файл в том виде, в котором он написан, на основе его размера, чтобы убедиться, что они идентичны. Проверка была встроена в команду xcopy, начиная с Windows XP, поэтому этот параметр ничего не делает в более поздних версиях Windows и включен только для совместимости со старыми файлами MS-DOS.
Используйте параметр /w , чтобы отобразить сообщение «Нажмите любую клавишу, когда будете готовы к копированию файла (ов)». Команда xcopy начнет копирование файлов в соответствии с инструкциями после подтверждения нажатием клавиши. Этот параметр отличается от параметра /p , который запрашивает подтверждение перед каждой копией файла.
Этот параметр копирует параметры аудита файлов и информацию о списке контроля доступа к системе (SACL). Вы подразумеваете /o , когда используете параметр /x .
Используйте этот параметр, чтобы команда xcopy не запрашивала информацию о перезаписи файлов из источника , которые уже существуют в месте назначения .
/- у Используйте этот параметр, чтобы заставить команду xcopy запрашивать перезапись файлов. Это может показаться странным вариантом существования, поскольку это поведение по умолчанию для xcopy, но параметр /y может быть предварительно задан в переменной среды COPYCMD на некоторых компьютерах, что делает этот параметр необходимым.
Этот параметр позволяет команде xcopy безопасно остановить копирование файлов при потере сетевого подключения, а затем возобновить копирование с того места, где оно было прервано, после восстановления соединения. Этот параметр также показывает процентное содержание, скопированное для каждого файла в процессе копирования.
/исключить: file1 [ file2 ] [ file3 ] … Этот параметр позволяет указать одно или несколько имен file , содержащих список строк поиска, которые вы хотите использовать командой xcopy для определения файлов и/или папок, пропускаемых при копировании.
/? Используйте переключатель справки с командой xcopy, чтобы отобразить подробную справку о команде. Выполнение xcopy /? аналогично использованию команды help для выполнения help xcopy .

Команда xcopy добавит атрибут архива в файлы в месте назначения , независимо от того, был ли атрибут включен или выключен в файле в исходном файле .

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

Оставьте комментарий

Adblock
detector