it-swarm.xyz

Что такое команда командной строки Windows для копирования файлов?

Что такое команда командной строки Windows для копирования файлов?

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

Мне нужно, чтобы это была командная строка, чтобы я мог автоматизировать это.

Версия Windows - XP.

35
David Basarab

Команда xcopy - это то, что вы ищете. Пример:

xcopy source destination /E /C /H /R /K /O /Y

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

/E    Copies directories and subdirectories, including empty ones.
      Same as /S /E. May be used to modify /T.
/C    Continues copying even if errors occur.
/H    Copies hidden and system files also.
/R    Overwrites read-only files.
/K    Copies attributes. Normal Xcopy will reset read-only attributes.
/O    Copies file ownership and ACL information.
/Y    Suppresses prompting to confirm you want to overwrite an
      existing destination file.

Для получения дополнительной информации введите xcopy /? и ​​ваша командная строка.

47
user1797

Использование md создать папку (это нормально, если она уже существует)

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

8
Dani

В пакетном файле:

if not exists locationB\nul mkdir locationB
copy locationA\file locationB

if not exists проверяет параметр, чтобы увидеть, существует ли он, но он работает только с файлами. Чтобы проверить наличие directory, вам нужно найти "псевдофайл" с именем "nul" - проверка существования этого файла всегда будет возвращать true, если каталог существует.

Строка копирования копирует файл с именем file из каталога locationA в locationB и ​​именует файл одинаково. Если вы хотите переименовать файл одновременно, вы можете сделать это тоже:

copy locationA\file locationB\newfilename
2
Graeme Perrow

Если вы хотите синхронизировать копию и другие расширенные функции (игнорируйте определенные папки, включайте только определенные символы подстановки), посмотрите на robocopy. Включено в Vista и более поздние версии, необязательно (из инструментов набора ресурсов) в более ранних версиях.

2
Richard

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


  1. Используйте robocopy для простого копирования папок. Команда robocopy заменяет команду xcopy. Он может быстро копировать целые папки, не заботясь об определении содержимого. Например, чтобы скопировать все содержимое каталога C:\tools в новую папку D:\backup\tools, введите следующее:

    robocopy C:\tools D:\backup\tools /e
    

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

  2. Зеркальное отображение каталога. Зеркальное отображение каталога отлично подходит для создания резервных копий. Опция зеркальной копии robocopy скопирует все содержимое из источника в место назначения. Затем он удалит все, что не существует в источнике. Это гарантирует, что ваша резервная копия содержит только самые последние версии ваших файлов. Например, для зеркального отображения C:\Users\Мои документы в D:\backup\My Documents введите следующее: [4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    Эта функция сохранит все разрешения исходных файлов.

  3. Включить перезапуск. Вы можете включить возможность перезапустить процесс в случае разрыва соединения в середине копии.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. Записать процесс копирования. robocopy позволяет создать файл журнала. Это может помочь вам точно определить проблемы или создать архив того, что было скопировано.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    Модификатор/log + добавит существующий файл журнала вместо его перезаписи. Если вы предпочитаете просто перезаписать старый файл журнала, используйте /log:.txt.

2
Program-Me-Rev

xcopy создаст структуру каталогов для вас. Хитрость заключается в том, чтобы использовать параметр/I и добавить звездочку в конце имени файла, чтобы xcopy решил, что вы копируете несколько файлов, в противном случае он спрашивает, является ли целевое имя нужным вам именем файла или нужным именем каталога. , Например.

xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>

Я бы также посмотрел на RoboCopy, но вам нужно получить его из комплекта ресурсов, поскольку он не доступен в Windows до Vista.

0
WaldenL