Назад | Перейти на главную страницу

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

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

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

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

Версия Windows - XP.

Команда 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 /? и ваша командная строка.

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

Использовать копировать или шаг для файлов и xcopy для папок

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

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

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

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

copy locationA\file locationB\newfilename

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

Используйте 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 \ My Documents в 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.

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

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

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

Приведенная выше команда создает дополнительный уровень каталога с именем исходного файла. Итак ... xcopy / I srcdir \ dir1 \ dir2 \ file1.txt * destdir \ dir1 \ dir2 \ file1.txt приводит к destdir \ dir1 \ dir2 \ file1.txt \ file1.txt