IT Geek: как хранить файлы с тем же именем в синхронизации

Оглавление:

IT Geek: как хранить файлы с тем же именем в синхронизации
IT Geek: как хранить файлы с тем же именем в синхронизации

Видео: IT Geek: как хранить файлы с тем же именем в синхронизации

Видео: IT Geek: как хранить файлы с тем же именем в синхронизации
Видео: Outlook 2013 полезные советы - YouTube 2024, Май
Anonim
Вы, скорее всего, слышали о таких сервисах, как Dropbox, которые используются для синхронизации файлов на нескольких компьютерах. Однако, если вы хотите выполнить эту операцию на одной машине? То есть, сохраняйте файлы, которые имеют одинаковое имя файла при синхронизации на компьютере, так что когда один из файлов изменяется, все они обновляются.
Вы, скорее всего, слышали о таких сервисах, как Dropbox, которые используются для синхронизации файлов на нескольких компьютерах. Однако, если вы хотите выполнить эту операцию на одной машине? То есть, сохраняйте файлы, которые имеют одинаковое имя файла при синхронизации на компьютере, так что когда один из файлов изменяется, все они обновляются.

Эта функциональность может быть весьма полезна, особенно для разработчиков или системных администраторов, где иногда требуется дублирование файлов.

Как это устроено

Предположим, что вы веб-разработчик, который со временем собрал хорошую коллекцию функций Javascript, которые вы используете на всех сайтах, которые вы поддерживаете. По мере добавления или улучшения этого Javascript-файла (назовем его «library.js») обновляется только текущая копия, которую вы редактируете. Это означало бы, например, если вы исправите ошибку или улучшите, вам придется вручную применить ее к каждой из исходных кодов вашего другого сайта.

Наш инструмент пытается решить проблему необходимости вручную переместить обновленный файл в каждую исходную папку. Что оно делает:

  1. Ищет все файлы с указанным именем (library.js) в указанной корневой папке (% UserProfile% Documents Web Sites).
  2. Для всех файлов с именем library.js он находит тот, который был изменен совсем недавно, и отмечает его хэш-значение файла.
  3. Все остальные файлы с именем library.js (которые не являются последней обновленной копией) имеют значение хэш-файла файла по сравнению с последним (определенное на предыдущем шаге).
  4. Если значения хеш-файла различны, то соответствующая копия library.js заменяется самой последней обновленной копией.

Поскольку мы используем хэш-значения для сравнения файлов, мы уверены, что все замененные файлы действительно отличаются от последней копии. Например, если вы должны были запустить процесс и были сделаны 5 заменяемых файлов, запуск этого процесса сразу же после этого не будет заменять, так как значения хэш-файла теперь идентичны.

Обновление до новейшего инструмента копирования

Средство Update to Newest Copy Tool - это модифицированная версия пакетного скрипта с тем же именем (оба доступны для загрузки с использованием ссылок внизу статьи), которые были преобразованы в EXE-файл, чтобы включить нужный Nirsoft Утилита HashMyFiles. Инструмент должен запускаться из командной строки с определенными параметрами. Если вы просто запустили EXE-файл, дважды щелкнув мышью, вы получите сообщение об этом.

Чтобы использовать Update to Newest Copy, вы можете просмотреть параметры, запустив «UpdateToNewestCopy /?», Который показывает следующее диалоговое окно:

Image
Image

Единственными требуемыми параметрами являются SourceFolder (например,% UserProfile% Documents Web Sites) и FileName (library.js). Однако вы можете изменить функциональность, добавив дополнительные переключатели, как описано выше.

Примеры

Следующая команда найдет все файлы с именем «Common.vb» в папке «C: users jfaulkner documents Code Files», выполнив замену, но создав резервную копию текущей копии перед ее перезаписью (этот результат - это то, что создало top image для этой статьи):

UpdateToNewestCopy “C:usersjfaulknerdocumentsCode Files” Common.vb /B

Следующая команда выполняет одно и то же действие поиска, как указано выше, однако оно относится только к файлам, которые будут заменены и фактически не будут выполнять никаких операций с файлами:

UpdateToNewestCopy “C:usersjfaulknerdocumentsCode Files” Common.vb /V

Предположим, что есть файл с именем «C: Config FilesToSearch.txt» со следующим содержимым:

library.js Common.vb

Следующая команда будет искать папку моих документов текущего пользователя и сообщать о любых обновлениях «library.js» и «Common.vb», но фактически не будет выполнять никаких операций обновления:

UpdateToNewestCopy “%UserProfile%Documents” “C:ConfigFilesToSearch.txt” /L /V

Автоматизация процесса

Этот процесс является идеальным кандидатом для автоматизации. Создавая запланированную задачу (ничего особенного) с указанными настройками и выполняя ее ежедневно / ежечасно / каждые 15 минут (в зависимости от ваших требований), вы можете хранить файлы, синхронизированные в true set-it-and-forget-it мода.

Скачать

Обновить до последней копии - измененный исполняемый формат

Обновление до новейших командных файлов с исходным кодом (более ориентированная на командную строку)

Рекомендуемые: