Windows bat copy all files

batch file to copy files to another location?

Is it possible to create a batch file to copy a folder to another location everytime I login, or when the folder is updated?

It could be written in VB or Java as well if not an easy solution.

8 Answers 8

When you login: you can to create a copy_my_files.bat file into your All Programs > Startup folder with this content (its a plain text document):

Use xcopy c:\folder\*.* d:\another_folder\. /Y to overwrite the file without any prompt.

Everytime a folder changes: if you can to use C#, you can to create a program using FileSystemWatcher

Type the following lines into it (obviously replace the folders with your ones)

Save the file as backup.bat (not .txt)

Double click on the file to run it. It will backup the folder and all its contents files/subfolders.

Now if you want the batch file to be run everytime you login in Windows, you should place it in Windows Startup menu. You find it under: Start > All Program > Startup To place the batch file in there either drag it into the Startup menu or RIGH click on the Windows START button and select Explore, go in Programs > Startup, and copy the batch file into there.

To run the batch file everytime the folder is updated you need an application, it can not be done with just a batch file.

Batch file to copy files from one folder to another folder

I have a storage folder on a network in which all users will store their active data on a server. Now that server is going to be replaced by a new one due to place problem so I need to copy sub folders files from the old server storage folder to new server storage folder. I have below ex:

from \Oldeserver\storage\data & files to \New server\storage\data & files.

9 Answers 9

xcopy.exe is definitely your friend here. It’s built into Windows, so its cost is nothing.

Just xcopy /s c:\source d:\target

You’d probably want to tweak a few things; some of the options we also add include these:

  • /s/e — recursive copy, including copying empty directories.
  • /v — add this to verify the copy against the original. slower, but for the paranoid.
  • /h — copy system and hidden files.
  • /k — copy read-only attributes along with files. otherwise, all files become read-write.
  • /x — if you care about permissions, you might want /o or /x .
  • /y — don’t prompt before overwriting existing files.
  • /z — if you think the copy might fail and you want to restart it, use this. It places a marker on each file as it copies, so you can rerun the xcopy command to pick up from where it left off.

If you think the xcopy might fail partway through (like when you are copying over a flaky network connection), or that you have to stop it and want to continue it later, you can use xcopy /s/z c:\source d:\target .

Batch file to copy directories recursively [closed]

Want to improve this question? Update the question so it focuses on one problem only by editing this post.

Closed 13 days ago .

Is there a way to copy directories recursively inside a .bat file? Is an example of this available?

4 Answers 4

Look into xcopy, which will recursively copy files and subdirectories.

Читайте также:  Windows form application label

There are examples, 2/3 down the page. Of particular use is:

To copy all the files and subdirectories (including any empty subdirectories) from drive A to drive B, type:

After reading the accepted answer’s comments, I tried the robocopy command, which worked for me (using the standard command prompt from Windows 7 64 bits SP 1):

You may write a recursive algorithm in Batch that gives you exact control of what you do in every nested subdirectory:

I wanted to replicate Unix/Linux’s cp -r as closely as possible. I came up with the following:

xcopy /e /k /h /i srcdir destdir

/e Copies directories and subdirectories, including empty ones.
/k Copies attributes. Normal Xcopy will reset read-only attributes.
/h Copies hidden and system files also.
/i If destination does not exist and copying more than one file, assume destination is a directory.

I made the following into a batch file ( cpr.bat ) so that I didn’t have to remember the flags:

Usage: cpr srcdir destdir

You might also want to use the following flags, but I didn’t:
/q Quiet. Do not display file names while copying.
/b Copies the Symbolic Link itself versus the target of the link. (requires UAC admin)
/o Copies directory and file ACLs. (requires UAC admin)

Команда XCOPY — копирование файлов и каталогов.

Команда XCOPY используется для копирования файлов и каталогов с сохранением их структуры. По сравнению с командой COPY имеет более широкие возможности и является наиболее гибким средством копирования в командной строке Windows

Формат командной строки:

XCOPY источник [целевой_объект] [/A | /M] [/D[:дата]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/EXCLUDE:файл1[+файл2][+файл3]. ]

Параметры командной строки:

источник — Копируемые файлы.

целевой_объект — Расположение или имена новых файлов.

/A — Копирование только файлов с установленным архивным атрибутом; сам атрибут при этом не изменяется.

/M — Копирование только файлов с установленным архивным атрибутом; после копирования атрибут снимается.

/D:m-d-y — Копирование файлов, измененных не ранее указанной даты. Если дата не указана, заменяются только конечные файлы, более старые, чем исходные.

/EXCLUDE:файл1[+файл2][+файл3]. — Список файлов, содержащих строки с критериями для исключения файлов и папок из процесса копирования. Каждая строка должна располагаться в отдельной строке файла. Если какая-либо из строк совпадает с любой частью абсолютного пути к копируемому файлу, такой файл исключается из операции копирования. Например, указав строку \obj\ или .obj, можно исключить все файлы из папки obj или все файлы с расширением OBJ соответственно.

/P — Вывод запросов перед созданием каждого нового файла.

/S — Копирование только непустых каталогов с подкаталогами.

/E — Копирование каталогов с подкаталогами, включая пустые. Эквивалентен сочетанию ключей /S /E. Совместим с ключом /T.

/V — Проверка размера каждого нового файла.

/W — Вывод запроса на нажатие клавиши перед копированием.

/C — Продолжение копирования вне зависимости от наличия ошибок.

/I — Если целевой объект не существует и копируется несколько файлов, считается, что целевой объект задает каталог.

/Q — Запрет вывода имен копируемых файлов.

/F — Вывод полных имен исходных и целевых файлов.

/L — Вывод имен копируемых файлов.

/G — Копирование зашифрованных файлов в целевой каталог, не поддерживающий шифрование.

/H — Копирование, среди прочих, скрытых и системных файлов.

/R — Перезапись файлов, предназначенных только для чтения.

/T — Создание структуры каталогов без копирования файлов. Пустые каталоги и подкаталоги не включаются в процесс копирования. Для создания пустых каталогов и подкаталогов используйте сочетание ключей /T /E.

/U — Копирование только файлов, уже имеющихся в целевом каталоге.

/K — Копирование атрибутов. При использовании команды XСOPY обычно сбрасываются атрибуты «Только для чтения».

/N — Использование коротких имен при копировании.

Читайте также:  Как перейти от windows начальная

/O — Копирование сведений о владельце и данных ACL.

/X — Копирование параметров аудита файлов (подразумевает ключ /O).

/Y — Подавление запроса подтверждения на перезапись существующего целевого файла.

/-Y — Запрос подтверждения на перезапись существующего целевого файла.

/Z — Копирование сетевых файлов с возобновлением.

/B — Копирование символической ссылки вместо ее целевого объекта.

/J — Копирование с использованием небуферизованного ввода/вывода. Рекомендуется для очень больших файлов.

Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

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

XCOPY /? — выдать краткую справку по использованию команды.

xcopy C:\users D:\copy1 — скопировать файлы из каталога C:\users в каталог D:\copy1 . Будет выполняться копирование без подкаталогов и только файлов без атрибутов «Скрытый» и «Системный». Для скопированных файлов будет установлен атрибут Архивный . Если каталог, в который выполняется копирование, не существует, то пользователю будет выдано сообщение:

Что означает D:\copy1:
имя файла или каталога
(F = файл, D = каталог)? D

После ответа D целевой каталог будет создан и копирование будет выполняться в D:\COPY1\. Для подавления запроса на создание целевого каталога используется параметр /I:

xcopy C:\users D:\copy1 /I

xcopy C:\users D:\copy1 /H /Y /C — копирование файлов, включая скрытые и системные, с подавлением запроса на перезапись существующих и возобновлением при ошибке. Если существующий в целевом каталоге файл имеет атрибут «Только чтение», то копирование не выполняется. Для перезаписи таких файлов используется ключ /R

xcopy C:\users D:\copy1 /H /Y /C /R /S — скопировать все файлы и подкаталоги ( /S ) с перезаписью существующих без запроса ( /Y ) , включая скрытые и системные. ( /H ) с перезаписью файлов с атрибутом «Только чтение» (/R) и игнорированием ошибок ( /C )

xcopy C:\users D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt — то же, что и в предыдущем случае, но текстовый файл C:\users\listnotcopy.txt задает признаки исключения из процедуры копирования. Пример содержимого файла:

\User1\ — исключить из копирования каталог C:\users\user1
All Users исключить из копирования каталог C:\users\All Users
de*.* — исключить из копирования все файлы и каталоги, начинающиеся на буквосочетание «de»

xcopy C:\users\*.exe D:\copy1 /H /Y /C /R /S /EXCLUDE:C:\users\listnotcopy.txt — то же, что и в предыдущем примере, но выполняется только копирование исполняемых файлов с расширением .exe .

xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I — копирование всех файлов с расширением .ini из каталога временных файлов в каталог D:\copy1\ini\ . Если целевой подкаталог \ini\ не существует, то он будет создан без запроса пользователю ( /I ) .

xcopy %TEMP%\*.ini D:\copy1\ini /H /Y /C /R /S /I /D:09-16-2013 — то же, что и в предыдущем примере, но выполняется копирование только тех файлов, у которых установлена дата изменения 16 сентября 2013 года и старше.

xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T — создать структуру папок диска C: в каталоге D:\copy1\LISTDIR . Копирование файлов не выполняется. Копируются только папки, включая пустые, скрытые и системные.

xcopy C:\ D:\copy1\LISTDIR /H /Y /C /R /S /I /E /T /D:09-16-2013 воссоздать в каталоге D:\copy1\LISTDIR структуру папок диска C: , с датой изменения 16 сентября 2013 года и позже.

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

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

Команда COPY для копирования одного или нескольких файлов.

Команда COPY при работе в командной строке позволяет копировать один или несколько файлов. Команда имеет синтаксис: COPY[/D][/V][/N][/Y | /-Y][/Z][/L][/A | /B]источник[/A | /B][+ источник[/A | /B] [+ . ]][результат [/A | /B]]. Источником является имя копируемого файла, а результатом является каталог, в который будет помещена копия этого файла и/или имя создаваемого файла.

Для примера, создадим на диске «С» какой-нибудь файл (я создал текстовый файл «robot.txt»), а на диске «D» какую-нибудь папку (я создал папку «folder1»). Тогда команда для копирования файла «robot.txt» в папку «folder1» выглядит так: copy robot.txt d:\folder1

Читайте также:  Органайзер папок для windows 10

Если необходимо скопировать файл, изменив при этом его имя, необходимо записать следующую команду: copy robot.txt d:\folder1\file.txt В этом случае, файл «robot.txt» будет скопирован в папку «folder1», но уже с именем «file.txt».

Для того чтобы скопировать все файлы с выбранным расширением, необходимо вместо названия файла поставить звездочку «*». Например, создадим на диске «С» какую-нибудь папку (я создал папку «papka») и скопируем в нее все текстовые файлы из папки «folder1», расположенной на диске «D». Команда будет иметь вид: copy d:\folder1\*.txt c:\papka

Если в качестве [результата] не указывать каталог, то команда copy скопирует файл (или файлы) и поместит их в текущем каталоге. При этом скопированные файлы будут иметь то же имя, дату и время создания, что и исходный файл. Например, создадим в папке «folder1», расположенной на диске «D» текстовый файл с именем «robot1.txt». После этого в командной строке изменим текущий каталог с «C:\>» на «C:\Papka». Тогда команда copy d:\folder1\robot1.txt скопирует файл «robot1.txt» из папки «folder1» и поместит его в текущем каталоге, т.е. в папку «papka», расположенную на диске «C». Причем, имя, дата и время создания скопированного файла будет идентично исходному файлу.

Для того чтобы скопировать все файлы из определенного каталога, необходимо вместо названия файла поставить звездочку «*» и вместо расширения файла поставить звездочку «*». Например, создадим в папке «folder1» несколько файлов, имеющих различные расширения (документ Word, архив Rar и т.д.). Тогда команда для копирования всех файлов из папки «folder1» на диск «C» будет выглядеть: copy d:\folder1\*.* c:\

[Источником] или [результатом] копирования могут выступать не только файлы, но и различные устройства компьютера. В Windows поддерживаются следующие имена устройств:

  • LPT1 – LPT3 (параллельные порты).
  • COM1 – COM3 (последовательные порты).
  • CON (терминал, при выводе это экран компьютера, при вводе – клавиатура).
  • PRN (принтер).
  • AUX (устройство, подсоединяемое к последовательному порту 1).

Например, с помощью командной строки и команды «copy» можно создать текстовый файл и записать в него информацию: copy con f1.txt . Команда copy con f1.txt создаст текстовый файл «f1.txt» и скопирует в него символы, которые вы будете вводить с клавиатуры.

После ввода команды copy con f1.txt нажимаем Enter и вводим слова, которые необходимо сохранить (я ввел command com). После ввода необходимо поставить признак конца файла (нажать Ctrl+Z).
C помощью команды copy можно объединять несколько файлов в один файл. Например, создадим на диске «C» два файла f2.txt и f3.txt (файл f1.txt мы создали ранее) и запишем в эти файлы какую-нибудь информацию. Тогда команда copy f1.txt+f2.txt+f3.txt d:\f4.txt скопирует содержимое файлов «f1.txt», «f2.txt», «f3.txt» в файл «f4.txt», который будет автоматически создан на диске «D».

Если при объединении файлов не указывать файл — [результат], то вся информация будет сохранена в первом файле. Например, команда copy f1.txt+f2.txt+f3.txt добавит к содержимому файла f1.txt содержимое файлов f2.txt и f3.txt

Ключ /Y отключает вывод сообщения о замене файлов. По умолчанию, при копировании файлов, если такой файл существует, то на экран выводится сообщение с предупреждением о замене. Пользователь может согласиться с заменой (нажать Y) или не согласиться (нажать N). Ключ /Y отключает это сообщение и копирование происходит сразу. Для примера создадим на диске «C» файл vov.txt и скопируем его на диск «D»: copy vov.txt d:\
Затем скопируем этот файл еще раз. При этом выводится сообщение «Заменить d:\vov.txt [Yes (да)……»
После этого скопируем файл еще раз, употребив ключ /Y. Сообщение выводиться не будет.

Ключ /Y может присутствовать в значении переменной среды окружения COPYCMD. Т.е. по умолчанию, при замене файлов сообщение выводиться не будет. В этом случае, для того чтобы сообщение выводилось необходимо использовать ключ /-Y.

Оцените статью