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,
@echo off
if not exist "C:\Temp Backup\" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"
if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
xcopy /s/e/q "C:\Source" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\TELIUM"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_Log_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
NET USE \\IP\IPC$ /u:IP\username password
ROBOCOPY "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" "\\IP\Backup Folder" /z /MIR /unilog+:"C:\backup_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%.log"
NET USE \\172.20.10.103\IPC$ /D
RMDIR /S /Q "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
-
04.02.2020 -
36 343 -
01.11.2020 -
8
Описание
COPY
– Копирование одного или нескольких файлов из одного расположения в другое.
Синтаксис
copy [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] источник [{/a|/b}] [+ источник [{/a|/b}] [+ ...]] [назначение [{/a|/b}]]
Параметры
Примечания
Примеры использования
Чтобы скопировать файл Memo.doc в файл Letter.doc на текущем диске и убедиться, что символ конца файла находится в конце скопированного файла, введите следующую команду:
copy memo.doc letter.doc /a
Чтобы скопировать файл Robin.typ с текущего каталога на текущем диске в существующий каталог Birds на диске C, введите следующую команду:
copy robin.typ c:\birds
Если каталог Birds не существует, файл Robin.typ будет скопирован в файл с именем Birds в корневой каталог диска C.
Чтобы скопировать несколько файлов в один, перечислите несколько файлов в параметре источник, разделяя их имена значком плюс (+), и укажите в параметре назначение файл, который должен содержать результат объединения этих файлов. Например, чтобы объединить файлы Mar89.rpt, Apr89.rpt и May89.rpt из текущего каталога на текущем диске и поместить их в файл Report в текущем каталоге на текущем диске, введите следующую команду:
copy mar89.rpt + apr89.rpt + may89.rpt report
При объединении команда copy создает конечный файл с текущими датой и временем. Если параметр назначение не указан, файлы объединяются и сохраняются в файле с именем первого файла в списке. Например, чтобы объединить четыре файла в файле Report, если такой файл уже существует, введите следующую команду:
copy report + mar89.rpt + apr89.rpt + may89.rpt
Кроме того, несколько файлов можно объединить в один с помощью символов подстановки (* или ?). Например, чтобы объединить все файлы с расширением .txt в текущем каталоге на текущем диске в файл Combin.doc, введите следующую команду:
copy *.txt combin.doc
Если требуется объединить несколько двоичных файлов в один с использованием подстановочных знаков, воспользуйтесь параметром /b. В результате CTRL+Z не будет рассматриваться как символ конца файла в Windows XP. Например, введите следующую команду:
copy /b *.exe combin.exe
Если объединяются двоичные файлы, результат может оказаться непригодным из-за нарушения внутреннего форматирования.
В следующем примере команда copy объединяет каждый файл с расширением .txt с соответствующим ему файлом с расширением .ref. Результатом является файл с тем же именем, но с расширением .doc. Таким образом, команда copy объединит файлы File1.txt и File1.ref в файл File1.doc, затем файлы File2.txt и File2.ref в файл File2.doc и т. д. Например, введите следующую команду:
copy *.txt + *.ref *.doc
Чтобы объединить сначала все файлы с расширением .txt, а затем все файлы с расширением .ref в файл Combin.doc, введите следующую команду:
copy *.txt + *.ref combin.doc
Справочная информация
You can use move
for this. The documentation from help move
states:
Moves files and renames files and directories.
To move one or more files:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
To rename a directory:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 Specifies the location and name of the file
or files you want to move.
destination Specifies the new location of the file. Destination
can consist of a drive letter and colon, a
directory name, or a combination. If you are moving
only one file, you can also include a filename if
you want to rename the file when you move it.
[drive:][path]dirname1 Specifies the directory you want to rename.
dirname2 Specifies the new name of the directory.
/Y Suppresses prompting to confirm you want to
overwrite an existing destination file.
/-Y Causes prompting to confirm you want to overwrite
an existing destination file.
The switch /Y may be present in the COPYCMD environment variable.
This may be overridden with /-Y on the command line. Default is
to prompt on overwrites unless MOVE command is being executed from
within a batch script.
C:\Documents and Settings\Pax\My Documents>dir qq1
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B
Directory of C:\Documents and Settings\Pax\My Documents\qq1
20/01/2011 11:36 AM <DIR> .
20/01/2011 11:36 AM <DIR> ..
20/01/2011 11:36 AM 13 xx1
20/01/2011 11:36 AM 13 xx2
20/01/2011 11:36 AM 13 xx3
3 File(s) 39 bytes
2 Dir(s) 20,092,547,072 bytes free
C:\Documents and Settings\Pax\My Documents>dir qq2
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B
Directory of C:\Documents and Settings\Pax\My Documents\qq2
20/01/2011 11:36 AM <DIR> .
20/01/2011 11:36 AM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 20,092,547,072 bytes free
C:\Documents and Settings\Pax\My Documents>move qq1\* qq2
C:\Documents and Settings\Pax\My Documents\qq1\xx1
C:\Documents and Settings\Pax\My Documents\qq1\xx2
C:\Documents and Settings\Pax\My Documents\qq1\xx3
C:\Documents and Settings\Pax\My Documents>dir qq1
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B
Directory of C:\Documents and Settings\Pax\My Documents\qq1
20/01/2011 11:37 AM <DIR> .
20/01/2011 11:37 AM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 20,092,547,072 bytes free
C:\Documents and Settings\Pax\My Documents>dir qq2
Volume in drive C is Primary
Volume Serial Number is 04F7-0E7B
Directory of C:\Documents and Settings\Pax\My Documents\qq2
20/01/2011 11:37 AM <DIR> .
20/01/2011 11:37 AM <DIR> ..
20/01/2011 11:36 AM 13 xx1
20/01/2011 11:36 AM 13 xx2
20/01/2011 11:36 AM 13 xx3
3 File(s) 39 bytes
2 Dir(s) 20,092,547,072 bytes free
from \Oldeserver\storage\data & files
to \New server\storage\data & files
.
5 gold badges
72 silver badges
102 bronze badges
asked Jun 12, 2009 at 12:45
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
– копировать атрибуты только для чтения вместе с файлами. в противном случае все файлы становятся доступными для чтения и записи. -
/x
– если вы заботитесь о разрешениях, вам может понадобиться/o
или/x
. -
/y
– не спрашивать перед перезаписью существующих файлов. -
/z
– если вы считаете, что копия может выйти из строя, и вы хотите перезапустить ее, используйте это. Он помещает маркер в каждый файл по мере его копирования, поэтому вы можете повторно запустить команду xcopy, чтобы продолжить с того места, где она была остановлена.
Если вы считаете, что xcopy может завершиться ошибкой (например, при копировании через нестабильное сетевое соединение) или что вам нужно остановить его и продолжить позже, вы можете использовать xcopy /s/z c:\source d:\target
.
6 золотых значков
38 серебряных значков
205 бронзовых знаков
ответил 12 июн 2009 в 12:57
5 золотых значков
55 серебряных значков
71 бронзовый знак
Мой любимый способ резервного копирования данных:
ROBOCOPY "C:\folder" "C:\new_folder" /mir
/mir для зеркала. Вы также можете использовать /mov для перемещения файлов. Он воспроизводит точно такую же папку. Он может удалять/перезаписывать файлы по мере необходимости. Отлично работает для меня. Это намного быстрее, чем xcopy/copy. Он также встроен в Windows.
ответил 19 авг 2013 в 19:27
Этьен Дюпюи
6 золотых значков
47 серебряных значков
58 бронзовых знаков
Просто для ясности, когда вы используете xcopy /s c:\source d:\target
, поставьте “” вокруг c:\source и d:\target, иначе вы получите ошибку.
т.е. если в пути есть пробелы т.е. если у вас есть:
"C:\Some Folder\*.txt"
, но не требуется, если у вас есть:
C:\SomeFolder\*.txt
8 золотых значков
58 серебряных значков
84 бронзовых знака
ответил 27 марта 2013 в 14:30
12 серебряных значков
18 бронзовых знаков
или для тех из нас, кто просто копирует большие подструктуры/папки:
используйте параметр /i, который указывает, что местом назначения должен быть каталог, если копируется более одного файла
ответил 9 апр 2014 в 11:32
Вы можете взглянуть на XCopy
или RoboCopy
которые являются довольно комплексными решениями почти для всех операций копирования файлов в Windows.
5 золотых значков
72 серебряных значка
102 бронзовых знака
ответил 12 июн 2009 в 12:48
85 золотых значков
689 серебряных значков
683 бронзовых знака
@echo off
rem The * at the end of the destination file is to avoid File/Directory Internal Question.
rem You can do this for each especific file. (Make sure you already have permissions to the path)
xcopy /Y "\\Oldeserver\storage\data\MyFile01.txt" "\\New server\storage\data\MyFile01.txt"*
pause
rem You can use "copy" instead of "xcopy "for this example.
ответил 21 ноя 2018 в 22:32
Давид Кастро
21 серебряный значок
21 бронзовый знак
Вы можете использовать esentutl для копирования (в основном больших) файлов с индикатором выполнения:
esentutl /y "my.file" /d "another.file" /o
индикатор выполнения выглядит так:
ответил 9 ноя 2020 в 13:53
18 золотых значков
148 серебряных значков
186 бронзовых знаков
Посмотрите на rsync
инструмент на базе Windows NASBackup
. Будет бонусом, если вы знакомы с командами rsync.
85 золотых значков
689 серебряных значков
683 бронзовых знака
ответил 12 июн 2009 в 12:53
3 золотых значка
41 серебряный значок
57 бронзовых знаков
cp -r "C:\Users\sourceFolder\." "C:\Users\destinationFolder"
Который скопирует все файлы и папки, содержащиеся в sourceFolder
внутри destincationFolder
ответил 29 июля 2021 в 12:23
Создать copyfile.exe
ИЛИ copyfile.cmd
ИЛИ copyfile.bat
#!AutoCopy
xcopy /s C:\folder\from C:\folder\to
- Просто откройте двойным щелчком copyfile.exe
ИЛИ открыть cmd
тип copyfile.bat
нажмите ввод
ответил 12 янв в 4:57
1 золотой значок
21 серебряный значок
16 бронзовых знаков
-
29.01.2020 -
53 389 -
02.11.2020 -
28
Описание
XCOPY
– Копирует файлы и включает каталоги.
Синтаксис
Параметры
Примечания
- Использование параметра /exclude
Построчный вывод всех строк в каждом файле. При соответствии выведенной части пути копируемого файла он восстанавливается из процесса загрузки. Например, если указана строка «\Obj\», восстанавливаются все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», восстанавливаются все файлы с расширением .obj. - Использование параметра /z
Если в период ожидания повторяется сетевое подключение (например, если сервер выполняет автоматический режим, прерывание подключения), возобновляется после восстановления подключения. Использование параметра /z
группа собирает долей (в процентах) - Использование параметра /y
въезжают в среду COPYCMD. Можно применить параметр /y
въезжают в среду COPYCMD. Эта настройка может быть переопределена с помощью параметра /-y
в командной строке. По умолчанию если команда копировать
высокая не в пакетной программе, при замене требуется подтверждение. - Копирование зашифрованных файлов
При копировании файлов на том, не поддерживающем шифрованную файловую систему (EFS), возникла ошибка. предварительно расшифровать файлы или скопировать их на том, поддерживающий EFS.
- Добавление файлов
Для преобразования файлов требуется один файл-результат, но несколько файлов-источников (с помощью подстановочных знаков или формата файл1+файл2+файл3).
- Значение по умолчанию для результат
Если параметр результат
не задан, xcopy
будет копировать файлы в каталоге. - Указание на качество результат
файл или каталогаЕсли параметр результат
не содержит Существующий каталок или не заканчивается замечанием(\), выводится следующее сообщение:Что означает пункт назначения:имя файла или каталога
(F = файл, D = каталог)?Нажмите F, если файл или файлы должны копироваться в файл. Нажмите D, если файл или файлы должны быть скопированы в каталог. Чтобы исключить вывод этого, використовуйте параметр сообщения /i
. В результате чего, команда xcopy
предполагает, что результатом является каталог, если источник престаляет несколько файлов или каталогов. - Использование команды xcopy
для установки атрибута «архивный» для файлов результат
Команда xcopy
включает файлы с установленным атрибутом «архив», независимо от состояния этого атрибута у исходных файлов. - Сравнение команд xcopy
и diskcopy
Команда xcopy
должна быть использована вместо diskcopy
при копировании файлов и подкаталогов на диск другого формата. Так как команда diskcopy
копирует диски по дорожкам, требуется, чтобы исходный диск и диск-результат имели одинаковый формат. Для команды xcopy
это требование не нужно. Обычно следует использовать команду xcopy
, если только не требуется получить два диска с одинаковыми образами. - Коды завершения программы xcopy
- Использование параметра /exclude
Для анализа кодов завершения, выведенных командой xcopy
, используйте параметр уровень_ошибки
в командной строке if
пакетных программ.
В следующей таблице перечислены коды завершения с кратким описанием.
Примеры использования
Чтобы копировать все файлы и подкаталоги (включая пустые подкаталоги) с диска A на диск B, введите:
xcopy a: b: /s /e
Чтобы включить в операцию копирования предыдущего примера системные и скрытые файлы следует использовать параметр /h
:
xcopy a: b: /s /e /h
Чтобы обновить файлы в каталоге \Reports файлами из каталога \Rawdata, измененными после 29 декабря 1993 года, введите:
xcopy \rawdata \reports /d:29-12-1993
Чтобы обновить файлы предыдущего примера, уже существующие в каталоге \Reports, независимо от их даты, введите следующую команду:
xcopy \rawdata \reports /u
Чтобы получить списк файлов, которые были бы скопированы в предыдущем примере, следует ввести команду:
xcopy \rawdata \reports /d:29-12-1993 /l > xcopy.out
Список файлов, которые были бы скопированы, находится в файле Xcopy.out.
Чтобы скопировать каталог \Customer и все подкаталоги \\Public\Address на сетевой диск H, сохранить у файлов атрибут «только для чтения», введите команду:
xcopy \customer h:\public\address /s /e /k /p
Чтобы выдать предыдущую команду, убедиться, что команда xcopy
создает каталог \Address и устранить вывод сообщение о создании нового каталога, добавьте параметр /i
следующим образом:
xcopy \customer h:\public\address /s /e /k /p /i
Для запуска программы xcopy
и анализа кодов завершения можно создать пакетный файл и использовать оператор if
для обработки кодов завершения в случае возникновения ошибок. Например, следующая пакетная программа использует замещаемые параметры для задания источника xcopy
и результата:
@echo off
rem COPYIT.BAT копирует все файлы во всех подкаталогах
rem исходного диска или каталога (%1) на другой диск
rem или в другой каталог (%2)
?? xcopy %1 %2 /s /e
??if errorlevel 4 goto lowmemory
?if errorlevel 2 goto abort
?if errorlevel 0 goto exit
??:lowmemory ?
echo Недостаточно памяти для копирования файлов,
задан недопустимый ?echo диск или ошибка в синтаксисе командной строки.
?goto exit
??
:abort ?
echo Нажата комбинация CTRL+C для остановки копирования.
?goto exit ?
?
:exit
Эта пакетная программа может быть использована для копирования всех файлов каталога C:\Prgmcode и его подкаталогов на диск B следующим образом:
copyit c:\prgmcode b:
Командный интерпретатор подставляет C:\Prgmcode вместо параметра %1
и B вместо параметра %2
, затем использует команду xcopy
с параметрами /e
и /s
. Если при выполнении xcopy
произошла ошибка, пакетная программа считывает код завершения и переходит на метку, указанную в соответствующей инструкции IF ERRORLEVEL
. В результате на экран выводится сообщение о характере ошибки и осуществляется выход из пакетной программы.
Справочная информация