Ответ 1
xcopy
не имеет такой опции. Ваши альтернативы:
rsync - http://rsync.samba.org
robocopy - http://technet.microsoft.com/en-us/library/cc733145.aspx
Я хочу использовать пакетный файл для синхронизации двух папок в Windows, и я использую команду xcopy, подобную этой
xcopy /s /d <Original Folder> <Destination Folder>
Он работает отлично, потому что я просто хочу перезаписать только измененные, но у меня есть одна крошечная проблема, когда я удаляю файл из исходной папки, этот файл остается в папке назначения, когда я запускаю пакетный файл, синхронизация Я хочу достичь... Я думаю, что это невозможно сделать с помощью xcopy, но я не знаю, какую команду я должен использовать, если я удалю файл в исходной папке.
EDIT: эти программы предназначены для людей, которые не понимают много ПК, поэтому я не хочу ничего устанавливать в своих компьютерах. Просто попробуйте простой командный файл, чтобы синхронизировать 2 папки
РЕШЕНИЕ: Благодаря Kuba Wyrostek я добрался до этой команды
robocopy < Original Folder > < Целевая папка > /e/purge
Спасибо всем за ваше время
xcopy
не имеет такой опции. Ваши альтернативы:
rsync - http://rsync.samba.org
robocopy - http://technet.microsoft.com/en-us/library/cc733145.aspx
Чтобы уточнить свой ответ, вы можете просто сделать:
robocopy <Original Folder> <Destination Folder> /mir
/mir
отражает дерево каталогов (эквивалентно /e
плюс /purge
).
Я знаю, что это старо, но у меня есть вопрос. Не может быть сделано с помощью правильных команд xcopy.
Папка 1: c:\workingFolder\ "содержимое здесь"
Папка 2: d:\workingFolderSync\ "содержимое здесь"
Пакетный файл ниже
xcopy "c:\workingFolder\*.*" "d:\workingFolderSync\" /i /s /d /y
xcopy "d:\workingFolderSync\*.*" "c:\workingFolder\" /i /s /d /y
pause
(Обычно я удаляю паузу после проверки я и знаю, что пакет работает.) Но это только скопирует содержимое из папки в другую, если оно будет более новым. Затем он просматривает папку назначения и копирует содержимое из пункта назначения обратно в исходное, если оно новее. Это воспроизводит синхронизацию, за исключением мониторинга в реальном времени измененных файлов. Создание правильного расписания задач может фактически реализовать запуск этой команды в определенное время, чтобы почти полностью воспроизвести синхронизацию. Вы также можете запустить это до модификации на машине и после модификации на машине. Даже делать то же самое на второй машине, если вы используете сетевой диск для синхронизации.
Команда XCOPY для копирования обновлений из одной папки в другую выглядит следующим образом:
C:\> XCOPY C:/SOURCE D:/DESTINATION /E /D /C /Y
Флаги, используемые в приведенном выше примере, имеют следующие значения:
/E
вызывает копирование всех папок и подпапок/D
вызывает сравнение DATE, только копируя элементы, которые новее, чем элемент DESTINATION. Если DESTINATION старше или не содержит файл, он будет скопирован./C
сообщает XCOPY продолжить, если он встречает ошибку - обычно ошибки возникают с файлами только для чтения или с файлами, которые имеют защищенные разрешения/Y
сообщает XCOPY подавить запрос на подтверждение, что необходимо, если вы планируете создать автоматизацию script или запланированную задачуУ вашего метода будут две основные проблемы: