Как мне написать пакетный скрипт, который копирует один каталог в другой, заменяя старые файлы? - PullRequest
10 голосов
/ 28 марта 2012

Мне нужен пакетный скрипт в Windows, с помощью которого я могу скопировать один каталог в другой.Если этот каталог уже существует, а затем для каждого файла, который уже существует и с тем же именем и местоположением, он должен быть перезаписан, если он не существует, его просто нужно добавить.должен быть пакетный скрипт, которому я могу передать 2 аргумента, источник и назначение.

Ответы [ 5 ]

32 голосов
/ 28 марта 2012

В вашем командном файле сделайте это

set source=C:\Users\Habib\test
set destination=C:\Users\Habib\testdest\
xcopy %source% %destination% /y

Если вы хотите скопировать подкаталоги , включая пустые каталоги , выполните:

xcopy %source% %destination% /E /y

Если вы хотите копировать только подкаталоги, а не пустые каталоги, используйте /s, например:

xcopy %source% %destination% /s /y
4 голосов
/ 13 сентября 2012

Кажется, что последняя функция для этого в Windows 7 - robocopy.

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

robocopy <source> <destination> /e /xf <file to exclude> <another file>

/ e копирует подкаталоги, включая пустые, / xf исключает некоторые файлыскопировано.

Дополнительные параметры здесь: http://technet.microsoft.com/en-us/library/cc733145(v=ws.10).aspx

3 голосов
/ 28 марта 2012

Рассматривали ли вы использование команды "xcopy"?

Команда xcopy сделает все это за вас.

2 голосов
/ 28 марта 2012

Попробуйте это:

xcopy %1 %2 /y /e

%1 и %2 - это аргументы источника и назначения, которые вы передаете в пакетный файл. т.е. C:\MyBatchFile.bat C:\CopyMe D:\ToHere

1 голос
/ 28 марта 2012

Просто используйте xcopy /y source destination

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...