W jaki sposób Robocopy określa, czy plik jest „zmieniany”?


17

Szukam tutaj szczegółowych informacji o tym, jak algorytm Robocopy określa, czy plik się zmienił, czy nie. Jeśli użyję na przykład parametru / mir, Robocopy musi ustalić, które pliki są zmieniane, a które nie. Czy używa zmodyfikowanego znacznika czasu lub rozmiaru pliku, mieszając kombinację wszystkich?

Co ciekawe, w dokumentacji nic o tym nie mówi.

Odpowiedzi:


25

Ok, po spędzeniu dnia na badaniu tego, czytaniu dokumentacji i testowaniu dla siebie (wszystkie z tym samym wynikiem), mam odpowiedź.

Krótka odpowiedź brzmi: domyślna wartość Robocopy to (chyba że określisz coś innego za pomocą parametrów), że skopiuje on każdy plik, w którym znacznik czasu LUB rozmiar pliku różni się . Zapamiętaj Robocopy ZAWSZE kopie ze źródła do miejsca docelowego. Więc jeśli masz nowy i większy plik w miejscu docelowym, Robocopy zastąpi go starszym i mniejszym plikiem ze źródła (dlatego kładę nacisk na słowo „różni się” - nie jest nowsze ani większe , po prostu inne).

Na głębszym poziomie możesz sprawdzić za pomocą opcji / it, nawet jeśli atrybuty pliku się różnią, i skopiować te, które różnią się również - nawet jeśli rozmiar pliku i znacznik czasu są takie same (OK, dla 100%, nie wiem, czy to skopiuje plik lub tylko brakujące atrybuty, ale ponieważ pliki są identyczne, wynik będzie taki sam).

Znalazłem długą dokumentację cytowaną w drugim wątku - chodzi o wersję XP010 (chyba Windows XP). Ale po prostu nie ma nowszej dokumentacji robocopy. Dokumentację można znaleźć tutaj:

http://theether.net/download/Microsoft/Utilities/robocopy.pdf (Przeczytaj sekcję „Korzystanie z klas plików Robocopy”, wszystko jest tam ułożone dość precyzyjnie)

Dokumentacja dotyczy starszej wersji Robocopy (pod Win7 zazwyczaj masz wersję XP027) - ale możesz sprawdzić zmiany wersji na tej stronie - która ma bardzo ładny przegląd:

http://yarcgui.wilkes.es/De/RoboCopy/index.htm

Najważniejsze jest to, że nie ma dużych różnic między nawet XP i Win7 - tylko drobne, a zmiany miały na celu dodanie parametrów - a nie ich zmianę (z wyjątkiem parametru / mir). I myślę, że można bezpiecznie powiedzieć, że mechanizm porównywania się nie zmienił - ponieważ byłaby to ogromna rzecz w porównaniu do bardzo małej zmiany polegającej na dodaniu kilku dodatkowych parametrów.

Jest to prawdopodobnie powód braku nowej dokumentacji.

Mam nadzieję, że to pomoże, jeśli szukasz tych samych informacji i czytasz to. Starałem się być precyzyjny i starannie przeprowadziłem swoje badania.


2
Czy używa utworzonych, zmodyfikowanych lub obu znaczników czasu?
user643011

@ user54512 W ogóle nie rozumiem .. więc czy używa znaczników czasu lub skrótów?
Shayan

1
@shayan: jest tam napisane, jeśli znacznik czasu LUB rozmiar pliku się różni , skopiuje ze źródła do miejsca docelowego. Bez skrótów. Reszta znajduje się w dokumentacji, którą umieściłem w łączu.
user54512,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.