Jak zachovat soubory se stejným jménem v synchronizaci
Pravděpodobně jste slyšeli o službách, jako je Dropbox, které se používají k synchronizaci souborů mezi více zařízeními. Co když však chcete provést tuto operaci na jednom počítači? Znamená to, že soubory, které mají stejný název souboru v synchronizaci, jsou v počítači synchronizovány tak, že když se jeden ze souborů změní, jsou všechny aktualizovány.
Tato funkce může být docela užitečná, zejména pro vývojáře nebo administrátory systému, kde je někdy potřeba kopírování souborů.
Jak to funguje
Předpokládejme, že jste webový vývojář, který v průběhu času sestavil hezkou sbírku Javascriptových funkcí, které používáte ve všech webech, které udržujete. Při přidávání nebo vylepšování tohoto souboru Javascript (nazýváme jej "library.js") je aktualizována pouze aktuální kopie, kterou upravujete. To by znamenalo například, že pokud uděláte opravu nebo vylepšení chyby, museli byste ji ručně použít i na složku zdrojového kódu ostatních webů.
Náš nástroj se pokouší vyřešit problém, že musí manuálně použít aktualizovaný soubor do každé zdrojové složky. Co to dělá:
- Vyhledá všechny soubory se zadaným názvem (library.js) v určeném kořenovém adresáři (% UserProfile% \ Documents \ Web Sites).
- Pro všechny soubory s názvem library.js najde tento soubor, který byl naposledy modifikován a zaznamenává jeho hodnotu hash.
- Všechny ostatní soubory s názvem library.js (které nejsou nejaktuálnější aktualizovanou kopií) pak mají porovnávanou hodnotu hash v porovnání s poslední (určenou v předchozím kroku).
- Pokud jsou hodnoty hash souboru odlišné, příslušná kopie knihovny library.js se nahradí naposledy aktualizovanou kopií.
Protože používáme hodnoty hash pro porovnání souborů, jsme si jisti, že všechny nahrazené soubory jsou skutečně jiné než poslední kopie. Například, pokud byste měli spustit proces a byly provedeny 5 výměnných souborů, spuštění procesu ihned poté nebude provádět žádné náhrady, protože hodnoty hash souboru jsou nyní stejné.
Aktualizovat na nejnovější nástroj pro kopírování
Nástroj Aktualizovat na nejnovější nástroj pro kopírování je upravená verze dávkového skriptu se stejným názvem (oba jsou k dispozici ke stažení pomocí odkazů v dolní části článku), který byl převeden na soubor EXE, aby zahrnoval požadovaný soubor Nirsoft Nástroj HashMyFiles. Nástroj musí být spuštěn z příkazového řádku s určitými zadanými parametry. Pokud byste měli spustit soubor EXE dvojím klepnutím, dostanete zprávu, která to označuje.
Chcete-li použít Aktualizovat na nejnovější kopii, můžete zobrazit parametry spuštěním "UpdateToNewestCopy /?", Který zobrazuje následující dialog:
Jediné požadované parametry jsou SourceFolder (např.% UserProfile% \ Documents \ Web Sites) a FileName (library.js). Funkci můžete však změnit přidáním dalších přepínačů, jak je popsáno výše.
Příklady
Následující příkaz by nalezl všechny soubory s názvem "Common.vb" ve složce "C: \ users \ jfaulkner \ documents \ Code Files", provedl výměnu, ale před přepisováním provedl zálohu aktuální kopie (tento výstup produkuje obrázek v horní části tohoto článku):
UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Kódové soubory" Common.vb / B
Následující příkaz provádí stejnou akci vyhledávání, jaká je uvedena výše, ale pouze zprávy o souborech, které budou nahrazeny a ve skutečnosti neuskutečňují žádné operace se soubory:
UpdateToNewestCopy "C: \ users \ jfaulkner \ documents \ Kódové soubory" Common.vb / V
Předpokládejme, že existuje soubor s názvem "C: \ Config \ FilesToSearch.txt" s následujícím obsahem:
library.js
Common.vb
Následující příkaz by vyhledal složku dokumentů aktuálního uživatele a hlásil jakékoliv aktualizace knihovny "library.js" a "Common.vb", ale ve skutečnosti by neměl provádět žádné operace aktualizace:
UpdateToNewestCopy "% UserProfile% \ Documents" "C: \ Config \ FilesToSearch.txt" / L / V
Automatizace procesu
Tento proces je ideálním kandidátem na automatizaci. Vytvořením plánovaného úkolu (bez nutnosti speciálního nastavení) s nastavenými parametry a jeho spouštění denně / hodinových / každých 15 minut (podle vašich požadavků) můžete synchronizovat soubory v pravém nastavení a zapomenout móda.
Stažení
Aktualizovat na nejnovější kopírovací modifikovatelný spustitelný formát
Aktualizovat na nejnovější kopie - zdrojové dávkové soubory (více orientované na příkazovou řádku)