Домашня » як » IT Geek Як зберігати файли з однаковою назвою у синхронізації

    IT Geek Як зберігати файли з однаковою назвою у синхронізації

    Швидше за все, ви чули про служби, такі як Dropbox, які використовуються для синхронізації файлів на декількох машинах. Однак, що, якщо ви хочете виконати цю операцію на одному комп'ютері? Тобто файли, що мають однакову назву файлу, синхронізуються на машині так, що коли один з файлів змінюється, всі вони оновлюються.

    Ця функціональність може бути дуже корисною, особливо для розробників або системних адміністраторів, де іноді потрібне дублювання файлів.

    Як це працює

    Припустимо, ви - веб-розробник, який протягом часу створив гарну колекцію функцій Javascript, які ви використовуєте на всіх сайтах, які ви підтримуєте. Коли ви додаєте або покращуєте цей файл Javascript (назвемо його “library.js”), оновлюється лише поточна копія, яку ви редагуєте. Це означатиме, наприклад, якщо ви виправите помилку або покращити роботу, вам доведеться вручну застосувати її до кожної папки вихідного коду інших сайтів, а також.

    Наш інструмент намагається вирішити проблему з необхідністю вручну перейти до застосування оновленого файлу до кожної вихідної папки. Що він робить:

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

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

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

    Інструмент оновлення до найновішої копії - це модифікована версія пакетного сценарію з тим же ім'ям (обидва доступні для завантаження за допомогою посилань у нижній частині статті), які були перетворені у файл EXE, щоб включити необхідний Nirsoft Утиліта HashMyFiles. Інструмент повинен бути запущений з командного рядка з певними параметрами. Якщо ви просто запустіть EXE-файл, двічі клацнувши, ви отримаєте повідомлення про це.

    Щоб скористатися пунктом "Оновити до нової копії", можна переглянути параметри, виконавши "UpdateToNewestCopy /?", Який показує наступне діалогове вікно:

    Єдиними необхідними параметрами є SourceFolder (наприклад,% UserProfile% Documents Web Sites) і FileName (library.js). Тим не менш, ви можете змінити функціональність, додавши додаткові перемикачі, як описано вище.

    Приклади

    Наступна команда знайде всі файли з назвою "Common.vb" у папці "C: користувачі jfaulkner"> "Файли коду", виконуючи заміну, але роблячи резервну копію поточної копії перед перезаписом (цей вихідний результат top image для цієї статті):

    Коди файлів »Common.vb / B

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

    Коди файлів »Common.vb / V

    Припустимо, що є файл з ім'ям "C: Config FilesToSearch.txt" з таким вмістом:

    library.js
    Common.vb

    Наступна команда шукатиме в папці моїх документів поточного користувача і повідомлятиме про будь-які оновлення "library.js" і "Common.vb", але фактично не виконуватиме жодних операцій оновлення:

    UpdateToNewestCopy “% UserProfile% Документи” “C: Config \ t

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

    Цей процес є ідеальним кандидатом для автоматизації. Створюючи заплановане завдання (нічого особливого не потрібно) із зазначеними налаштуваннями та виконуючи його щодня / щогодини / кожні 15 хвилин (залежно від ваших вимог), ви можете зберігати файли синхронізовані в істинному налаштуванні моди.

    Завантажити

    Оновлення до нової копії - змінений формат виконуваного файлу

    Оновити до нової копії - вихідних пакетних файлів (більше орієнтованих на командний рядок)