copying all contents of folder to another folder using batch file?
I have a folder in C:\Folder1
I want to copy all the contents of Folder1 to another location, D:\Folder2
How do I do this using a batch file?
12 Answers 12
xcopy.exe is the solution here. It’s built into Windows.
If you have robocopy,
if you want remove the message that tells if the destination is a file or folder you just add a slash:
xcopy /s c:\Folder1 d:\Folder2\
I see a lot of answers suggesting the use of xcopy. But this is unnecessary. As the question clearly mentions that the author wants THE CONTENT IN THE FOLDER not the folder itself to be copied in this case we can -:
Thats all xcopy can be used for if any subdirectory exists in C:\Folder1
RoboCopy did not work for me, and there are some good solutions here, but none explained the XCopy switches and what they do. Also you need quotes in case your path has spaces in it.
xcopy /i /e «C:\temp\folder 1» «C:\temp\folder 2»
Here is the documentation from Microsoft:
On my PC, xcopy and robocopy need also the path to them, i.e. C:\Windows\System32\xcopy.exe
That’s why I use simply «copy»: copy /y . \Folder1\File.txt . \Folder2\
This is how it is done! Simple, right?
Here’s a solution with robocopy which copies the content of Folder1 into Folder2 going trough all subdirectories and automatically overwriting the files with the same name:
/COPYALL copies all file information
/E copies subdirectories including empty directories
/IS includes the same files
/IT includes modified files with the same name
Note: it can be necessary to run the command as administrator, because of the argument /COPYALL . If you can’t: just get rid of it.
FYI. if you use TortoiseSVN and you want to create a simple batch file to xcopy (or directory mirror) entire repositories into a «safe» location on a periodic basis, then this is the specific code that you might want to use. It copies over the hidden directories/files, maintains read-only attributes, and all subdirectories and best of all, doesn’t prompt for input. Just make sure that you assign folder1 (safe repo) and folder2 (usable repo) correctly.
And, that’s it folks!
Add to your scheduled tasks and never look back.
I have written a .bat file to copy and paste file to a temporary folder and make it zip and transfer into a smb mount point, Hope this would help,
copy copy
Копирует один или несколько файлов из одного расположения в другое. Copies one or more files from one location to another.
В консоли восстановления можно также использовать команду Копировать с другими параметрами. You can also use the copy command, with different parameters, from the Recovery Console. Дополнительные сведения о консоли восстановления см. в разделе Среда восстановления Windows (Windows RE). For more information about the recovery console, see Windows Recovery Environment (Windows RE).
Синтаксис Syntax
Параметры Parameters
Параметр Parameter | Описание Description |
---|---|
/d /d | Позволяет сохранить копируемые зашифрованные файлы в виде расшифрованных файлов в месте назначения. Allows the encrypted files being copied to be saved as decrypted files at the destination. |
/v /v | Проверяет, правильно ли записаны новые файлы. Verifies that new files are written correctly. |
/n /n | Использует короткое имя файла (если доступно) при копировании файла с именем длиннее восьми символов или с расширением имени файла длиннее трех символов. Uses a short file name, if available, when copying a file with a name longer than eight characters, or with a file name extension longer than three characters. |
/y /y | Подавляет запрос на подтверждение перезаписи существующего целевого файла. Suppresses prompting to confirm that you want to overwrite an existing destination file. |
/-и /-y | Выводит запрос на подтверждение перезаписи существующего целевого файла. Prompts you to confirm that you want to overwrite an existing destination file. |
/z /z | Копирует сетевые файлы в перезапускаемый режим. Copies networked files in restartable mode. |
/a /a | Указывает текстовый файл ASCII. Indicates an ASCII text file. |
/b /b | Указывает на двоичный файл. Indicates a binary file. |
Обязательный элемент. Required. Указывает расположение, из которого необходимо скопировать файл или набор файлов. Specifies the location from which you want to copy a file or set of files. Источник может состоять из буквы диска и двоеточия, имени каталога, имени файла или их сочетания. Source can consist of a drive letter and colon, a directory name, a file name, or a combination of these. | |
Обязательный элемент. Required. Указывает расположение, в которое необходимо скопировать файл или набор файлов. Specifies the location to which you want to copy a file or set of files. Назначение может состоять из буквы диска и двоеточия, имени каталога, имени файла или их сочетания. Destination can consist of a drive letter and colon, a directory name, a file name, or a combination of these. | |
/? /? | Отображение справки в командной строке. Displays help at the command prompt. |
Комментарии Remarks
Можно скопировать текстовый файл ASCII, в котором используется символ конца файла (CTRL + Z), чтобы указать конец файла. You can copy an ASCII text file that uses an end-of-file character (CTRL+Z) to indicate the end of the file.
Если параметр /a предшествует или следует за списком файлов в командной строке, он применяется ко всем файлам, перечисленным до тех пор, пока не встретится копия . If /a precedes or follows a list of files on the command line, it applies to all files listed until copy encounters /b. В этом случае /b применяется к файлу, предшествующему /b. In this case, /b applies to the file preceding /b.
Действие /a зависит от его расположения в строке командной строки: The effect of /a depends on its position in the command-line string: — Если после Source указано значение /a , команда Copy обрабатывает файл как ASCII-файл и копирует данные, предшествующие первому символу конца файла (Ctrl + Z). If /a follows source, the copy command treats the file as an ASCII file and copies data that precedes the first end-of-file character (CTRL+Z). — Если параметр /a следует за назначением, команда Copy добавляет символ конца файла (Ctrl + Z) в качестве последнего символа файла. If /a follows destination, the copy command adds an end-of-file character (CTRL+Z) as the last character of the file.
Если /b указывает интерпретатору команд считывать число байтов, указанное размером файла в каталоге. If /b directs the command interpreter to read the number of bytes specified by the file size in the directory. /b — это значение по умолчанию для Copy, если только копирование не объединяет файлы. /b is the default value for copy, unless copy combines files.
Если /b предшествует или следует за списком файлов в командной строке, он применяется ко всем файлам в списке до тех пор , пока не встретится параметр /a. If /b precedes or follows a list of files on the command line, it applies to all listed files until copy encounters /a. В этом случае /a применяется к файлу, предшествующему /a. In this case, /a applies to the file preceding /a.
Действие /b зависит от его позиции в командной строке:-if /b следует за источником, команда Copy копирует весь файл, включая любой символ конца файла (Ctrl + Z). The effect of /b depends on its position in the command–line string: — If /b follows source, the copy command copies the entire file, including any end-of-file character (CTRL+Z). -If /b следует за назначением, команда Copy не добавляет символ конца файла (Ctrl + Z). — If /b follows destination, the copy command doesn’t add an end-of-file character (CTRL+Z).
Если операция записи не может быть проверена, появляется сообщение об ошибке. If a write operation cannot be verified, an error message appears. Хотя ошибки записи редко возникают с помощью команды Copy , можно использовать /v для проверки правильности записи важных данных. Although recording errors rarely occur with the copy command , you can use /v to verify that critical data has been correctly recorded. Параметр командной строки /v также замедляет команду Copy , так как необходимо проверить каждый сектор, записанный на диске. The /v command-line option also slows down the copy command, because each sector recorded on the disk must be checked.
Если в переменной среды копикмд предустановлен параметр /y , его можно переопределить с помощью /-и в командной строке. If /y is preset in the COPYCMD environment variable, you can override this setting by using /-y at the command line. По умолчанию при замене этого параметра выводится запрос, если команда Copy не выполняется в пакетном скрипте. By default, you are prompted when you replace this setting, unless the copy command is executed in a batch script.
Чтобы добавить файлы, укажите один файл для назначения, но несколько файлов для источника (используйте символы-шаблоны или формат файла file1 + file2 + файл3 ). To append files, specify a single file for destination, but multiple files for source (use wildcard characters or file1+file2+file3 format).
Если во время фазы копирования теряется соединение (например, если сервер переходит в автономный режим), можно использовать копию/z , чтобы возобновить подключение после восстановления подключения. If the connection is lost during the copy phase (for example, if the server going offline breaks the connection), you can use copy /z to resume after the connection is re-established. Параметр /z также отображает процент завершения операции копирования для каждого файла. The /z option also displays the percentage of the copy operation that is completed for each file.
Имя устройства можно заменить одним или несколькими экземплярами источника или назначения. You can substitute a device name for one or more occurrences of source or destination.
Если назначением является устройство (например, COM1 или LPT1), параметр /b копирует данные на устройство в двоичном режиме. If destination is a device (for example, Com1 or Lpt1), the /b option copies data to the device in binary mode. В двоичном режиме copy/b копирует все символы (включая такие специальные символы, как CTRL + C, CTRL + S, CTRL + Z и ввод) на устройство в виде данных. In binary mode, copy /b copies all characters (including special characters such as CTRL+C, CTRL+S, CTRL+Z, and ENTER) to the device, as data. Однако если параметр /b не указан, данные копируются на устройство в режиме ASCII. However, if you omit /b, the data is copied to the device in ASCII mode. В режиме ASCII специальные символы могут привести к объединению файлов во время процесса копирования. In ASCII mode, special characters might cause files to combine during the copying process.
Если целевой файл не указан, создается копия с тем же именем, датой изменения и временем изменения, что и в исходном файле. If you don’t specify a destination file, a copy is created with the same name, modified date, and modified time as the original file. Новая копия хранится в текущем каталоге на текущем диске. The new copy is stored in the current directory on the current drive. Если исходный файл находится на текущем диске и в текущем каталоге, и не указан другой диск или каталог для целевого файла, команда Copy остановится и отобразится следующее сообщение об ошибке: If the source file is on the current drive and in the current directory and you do not specify a different drive or directory for the destination file, the copy command stops and displays the following error message:
Если в источнике указано несколько файлов, команда Copy объединяет их в один файл, используя имя файла, указанное в поле назначение. If you specify more than one file in source, the copy command combines them all into a single file using the file name specified in destination. Команда Copy предполагает, что Объединенные файлы являются файлами ASCII, если не используется параметр /b . The copy command assumes the combined files are ASCII files unless you use the /b option.
Чтобы скопировать файлы длиной 0 байт или скопировать все файлы и подкаталоги каталога, используйте команду xcopy. To copy files that are 0 bytes long, or to copy all of a directory’s files and subdirectories, use the xcopy command.
Чтобы назначить текущее время и дату файлу без изменения файла, используйте следующий синтаксис: To assign the current time and date to a file without modifying the file, use the following syntax:
Где запятые указывают, что конечный параметр был намеренно оставлен. Where the commas indicate that the destination parameter has been intentionally left out.
Примеры Examples
Чтобы скопировать файл с именем memo.doc для letter.doc на текущем диске и убедиться, что символ конца файла (Ctrl + Z) находится в конце скопированного файла, введите: To copy a file called memo.doc to letter.doc in the current drive and ensure that an end-of-file character (CTRL+Z) is at the end of the copied file, type:
Чтобы скопировать файл с именем перебора. Typ из текущего диска и каталога в существующий каталог с именем птиц , расположенный на диске C, введите: To copy a file named robin.typ from the current drive and directory to an existing directory named Birds that is located on drive C, type:
Если каталог птиц не существует, файл Renamed . Typ копируется в файл с именем птиц , расположенный в корневом каталоге на диске C. If the Birds directory doesn’t exist, the file robin.typ is copied into a file named Birds that is located in the root directory on the disk in drive C.
Чтобы объединить Mar89. rpt, Apr89. rpt и May89. rpt, расположенные в текущем каталоге, и поместить их в файл с именем Report (также в текущем каталоге), введите: To combine Mar89.rpt, Apr89.rpt, and May89.rpt, which are located in the current directory, and place them in a file named Report (also in the current directory), type:
При объединении файлов команда копирования помечает конечный файл текущими датой и временем. If you combine files, the copy command marks the destination file with the current date and time. Если параметр Destination не указан, файлы объединяются и сохраняются под именем первого файла в списке. If you omit destination, the files are combined and stored under the name of the first file in the list.
Чтобы объединить все файлы в отчете, если файл с именем Report уже существует, введите: To combine all files in Report, when a file named Report already exists, type:
Чтобы объединить все файлы в текущем каталоге, имеющие расширение txt, в один файл с именем Combined.doc, введите: To combine all files in the current directory that have the .txt file name extension into a single file named Combined.doc, type:
Чтобы объединить несколько двоичных файлов в один файл, используйте подстановочные знаки, включите /b. To combine several binary files into one file by using wildcard characters, include /b. Это предотвращает расинтерпретацию CTRL + Z в качестве символа конца файла в Windows. This prevents Windows from treating CTRL+Z as an end-of-file character. Например, введите: For example, type:
При объединении двоичных файлов результирующий файл может оказаться непригодным для использования из-за внутреннего форматирования. If you combine binary files, the resulting file might be unusable due to internal formatting.