Что такое команда командной строки 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 /?
и ваша командная строка.
Использование md создать папку (это нормально, если она уже существует)
Использование копия или шаг для файлов и хсору для папок
В пакетном файле:
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
Если вы хотите синхронизировать копию и другие расширенные функции (игнорируйте определенные папки, включайте только определенные символы подстановки), посмотрите на 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\Мои документы в 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.