Есть ли инструмент синхронизации папок / fileов, который может генерировать скрипт синхронизации

Я ищу инструмент, который может синхронизировать папки, создавая скрипт, который затем может запускаться из command line, а созданный скрипт не требует, чтобы инструмент был установлен для работы.

Например, он может сравнивать directoryи, а затем сценарий операций копирования / удаления и позволяет вам сохранять сценарий и запускать скрипт с любого компьютера.

Также я работаю в мире окон. Я просмотрел довольно много инструментов синхронизации, но ни один из них до сих пор не создавал scripting.

Любые советы будут высоко ценится!

EDIT: Ситуация у меня есть, у нас есть несколько websiteов с одинаковой базой кода. Когда эта базовая база кода обновляется новыми новыми fileами, fileы удаляются из fileов.

Я хотел бы создать скрипт, который может быть упакован с новыми и измененными fileами, которые будут их копировать, и удалять ненужные fileы. Вид действительно простой программы обновления. В настоящее time я делаю это с winmerge, я помещаю измененные и новые fileы в архив, и я копирую имена отсутствующих элементов и пишу сценарий вручную.

Поскольку пакет будет содержать только новые и измененные fileы, сценарий должен помнить, какие fileы нужно удалить, поскольку при запуске скрипта ему не нужно подkeyаться к исходному источнику, чтобы отобразить наши удаленные fileы. В настоящее time я пишу сценарий вручную, и это утомительно. Я просто надеялся, что некоторые инструменты синхронизации fileов имеют возможность упаковать обновления в комплекте с измененными fileами и удалять, похоже, что это будет хорошая function.

3 Solutions collect form web for “Есть ли инструмент синхронизации папок / fileов, который может генерировать скрипт синхронизации”

Именно поэтому я понимаю, у вас есть один источник, с несколькими одинаковыми адресами. Вы вносите изменения в свой источник (творения, обновления, удаления) и хотите легко сделать ваши адресаты идентичными источнику со всеми этими изменениями?

Тогда это то, что вам нужно:

robocopy "\\sourcepath\folder" "\\destinationpath1\folder" /MIR /NFL /NDL robocopy "\\sourcepath\folder" "\\destinationpath2\folder" /MIR /NFL /NDL robocopy "\\sourcepath\folder" "\\destinationpath3\folder" /MIR /NFL /NDL 

Переkeyатель / MIR сделает ваши адресаты идентичными вашему источнику, вkeyая действия по удалению. / NFL и / NDL останавливают robocopy из вывода fileов и папок, которые меняются. Это создает простой вывод, в котором перечислены количество и размер fileов. Если вам нужен журнал того, что было синхронизировано, исkeyите эти переkeyатели.

Однако, если у вас есть настройки, настроенные для ваших целей, они будут удалены.

Обновление после первого комментария Криса об этом ответе

Я не думаю, что то, что вы ищете, возможно с помощью robocopy или других инструментов command line.

Однако, вот какой-то псевдо-код, который будет делать то, что вы ищете, я думаю. Фактический сценарий выходит за frameworks моих навыков без большого количества исследований, но это рабочий process, который вам нужен:

 $codebase = "\\codebase\" $comparesource = "\\destination to compare to codebase\" $packagesource = "\\where you store update package files\" $finaldestination = "\\path you're actually trying to update\" robocopy $codebase $comparesource /MIR /LOG:c:\log.txt /FP /NS /NJH /NJS /L 
  • / FP = Полный path, указанный в fileе журнала
  • / NS = Нет размера, указанного в fileе журнала
  • / NJH и / NJS = less заголовка задания и сводки в fileе журнала
  • / L = Просто перечислите, что произойдет, на самом деле не вносите никаких изменений

Это даст вам file, содержащий результат следующим образом:

 *EXTRA File C:\file1.txt New File c:\file2.xls Newer c:\file3.txt 

Тогда это нужно будет запустить:

 If line contains "newer" or "New File" rest of line enters array $copyfilename If line contains "*EXTRA" rest of line enters array $deletefilename \\This would only work for a flat structure; subfolders complicate things and you'd need to grab the file name and subfolder name instead. for each in $copyfilename { robocopy $codebase\$copyfilename $packagesource\$copyfilename /e Append above line to $packagesource\updatepackage.bat, replacing $codebase with $packagesource and $packagesource with $finaldestination } for each in $deletefilename { append "del $finaldestination\$deletefilename" to $packagesource\updatepackage.bat } 

В конце этого у вас будет папка (ваш $ packagesource), содержащий новые и измененные fileы, а также командный file с commandми копирования для этих новых и измененных fileов и удаление команд для удаленных fileов.

Um, robocopy сохраняет конфигурацию задания на копирование в file, который вы можете вспомнить позже с параметром. Достаточно ли этого по вашему определению скрипта? Это была загрузка в XP / 2003 и установлена ​​по умолчанию в вариантах Vista / 7/2008. Существует также RichCopy , наложение graphического interfaceа на вышеупомянутую robocopy. Он может даже выводить file задания, чтобы позже запустить сценарий robocopy.

Попробуйте Microsoft Synctoy . Он не создает сценарии, но доступен для сценариев. Если вы хотите создать собственный скрипт, вам, вероятно, придется написать свой собственный. Эти ребята были потрясающими, когда я впервые начал изучать scripting Windows.

  • Репликация controllerа домена, реплицируются ли журналы?
  • Ввод keyа RSA для замазки
  • Разрешение вkeyить / отkeyить устройства в диспетчере устройств без прав администратора?
  • SSH + RC4 Cipher: что конкретно находится под угрозой?
  • Поиск хорошего SNMP-browserа для работы под Windows
  • Не удается создать общий ресурс на удаленном serverе без прав администратора на локальном serverе
  • Кто-нибудь решил проблему с двойным переходом с помощью клиентов Ansible и Windows?
  • Google Chrome: сквозная validation подлинности Windows
  • Обработчик APE Windows эквивалент отkeyения безопасности для IP # с использованием htaccess?
  • SBS 2011 Essentials: предоставление удаленного веб-доступа пользователю, не созданному на панели инструментов
  • PCI Compliance: беспроводной анализатор, который «обнаруживает» изгоев AP в локальной сети?
  • Interesting Posts

    Безопасное преобразование из одного fileа InnoDB (ibdata) в file innodb для таблицы

    Клонировать Red Hat RAID как часть плана аварийного восстановления

    Служба IIS 6.0 и индексирования в Windows Server 2003

    Где обычно происходит формирование трафика?

    Как отkeyить предупреждение о безопасности Outlook при открытии вложений, отправленных внутренними пользователями Exchange / организации?

    Облако приложений Google – redirect на голый домен

    Синтаксис таблицы блокировок от mysql до oracle

    Powershell – информация по электронной почте

    Оптимальное место установки по умолчанию для размещенного веб-приложения IIS

    OSSEC Space Usge – большой размер папки diff

    Как представить очень большой диск для Windows VM?

    ADMIN0011: InvalidRequestFault При добавлении второго serverа ADFS

    Как проверить температуру Mobo / CPU в OS X на Intel iMac

    Использование разных облачных узлов для приложения и db / будет ли time ожидания с Mongo Atlas?

    Получение Samba для аутентификации пользователей из двух разных доменов, где less доверия