Ez a "compare-object" is a powershell része?
Miért lassú a metaadatok nyálazása? Exponenciálisan elfut az összehasonlítások száma?
Ugye 1 irányú szinkről van szó?
Azon gondolkodok, hogy ha a meta adatok szerint rendezed a fájlokat (amúgy is végig kell menni minden fájl meta adatán legalább egyszer), akkor a fenti gondolatmeneted első része kellene hogy működjön szerintem.
Tehát a meta adat 3 részből állna. 2 rész: fájl méret és utolsó módosítás dátuma, a harmadik pedig vagy név, vagy pedig checksum. Ez utóbbi jobb lenne, nem tudom elérhető-e windows-on.
Ha ez meg van, akkor nem értem hogy miért lenne lassú.
Ha mindkét oldalon megcsinálnád a listát, majd pl. egymásba merge-eled, de úgy, mintha minden meta adatra (az összes elemére) egy hash-t generálnál, majd a 2 listát egyetlen változóba tolod, majd ezt sorba rendezed. Meg kell jegyeztetni még soronként a path-t és hogy helyi vagy távoli-e. Elsődlegesen meta adat, másodlagosan path alapján kell rendezni.
Ekkor az egyforma hash-ek egymás mellett lesznek. Így sorba kell menni a lista egyforma tagjain, melyek egymás mellett lesznek. Ezek után vizsgálnád a path-t. Ha jól gondolom, akkor a következő lehetőségek lesznek:
1) meta adatok egyeznek + path is egyezik -> nincs tennivaló
2) meta adatok egyeznek + path nem egyezik (itt ez azt jelenti, hogy habár művelet kellhet, de mivel van ilyen metaadattal fájl a távoli gépen, ezért mindenképp csak a távoli gépen hajtjuk végre a műveletet az ottani fájllal a hálózati átvitelt megspórolva):
2-a) helyi path-al nincs távoli fájl és távoli path-al nincs helyi fájl -> fájl mozgatása távoli path-ról helyi path-ba a távoli gépen
2-b) helyi path-al nincs fájl a távoli gépen -> a távoli path-ról másoljuk a fájlt a helyi path-ra a távoli gépen
2-c) távoli path-al nincs fájl a helyi path-on, akkor fájl törlése a fenti műveletek után
3) nincs távoli meta adat a helyin, ekkor távoli törlése
4) nincs helyi meta adat a távolin, ekkor helyi másolása a távolra
Ugye a fentieknél ha egy állítás igaz volt és végeztünk műveletet, akkor tovább nem vizsgáljuk a többi feltételt (1-4-ig).