Что такое команда командной строки 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 обеспечит им безопасность в будущем.
Используйте robocopy, чтобы легко копировать папки. Команда robocopy заменяет команду xcopy. Он может быстро копировать целые папки, не беспокоясь об определении содержимого. Например, чтобы скопировать все содержимое каталога C: \ tools в новую папку D: \ backup \ tools, введите следующее:
robocopy C:\tools D:\backup\tools /e
Модификатор / e указывает robocopy включать все подкаталоги. Сюда входят пустые папки. robocopy автоматически скопирует скрытые и системные файлы. Он создаст новые каталоги, если они не существуют в целевом местоположении.
Зеркальное отражение каталога. Зеркальное отображение каталога отлично подходит для создания резервных копий. Параметр зеркала robocopy скопирует все содержимое из источника в место назначения. Затем он удалит в месте назначения все, чего не существует в источнике. Это гарантирует, что в вашей резервной копии будут только последние версии ваших файлов. Например, чтобы отразить C: \ Users \ My Documents в D: \ backup \ My Documents, введите следующее: [4]
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
Эта функция сохранит все права доступа к исходным файлам.
Разрешить перезапуск. Вы можете захотеть включить возможность перезапуска процесса в случае, если соединение разорвано в середине копии.
robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
Зарегистрируйте процесс копирования. 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