Teoretycznie używanie /DCOPY:T
powinno rozwiązać wszystkie problemy.
Ale widziałem, że tak się dzieje i nie jestem pewien, czy nazwałbym to „błędem”, ale raczej konsekwencją sekwencji operacji (OK, błąd).
To polecenie powinno działać, aby skopiować wszystkie pliki z C:\Brushes
do D:\NEWBrushes
i /DCOPY:T
powinno spowodować skopiowanie znaczników czasu folderu źródłowego do folderu docelowego:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
Widziałem (przynajmniej w niektórych wersjach Robocopy), że polecenie się powiodło, ale znacznik czasu D:\NEWBrushes
folderu jest ustawiony na bieżącą datę i godzinę.
Wygląda więc na to, że /DCOPY:T
funkcja nie działa dla kopiowanego folderu „podstawowego” (najwyższego).
Uważam, że działa, ale znacznik czasu folderu docelowego jest „przyspieszany” przez operacje, które są później w sekwencji operacji.
Wydaje mi się, że dzieje się to dla tego polecenia:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
jest coś takiego:
- Utwórz folder,
D:\NEWBrushes
jeśli jeszcze nie istnieje
- Skopiuj znacznik czasu z
C:\Brushes
doD:\NEWBrushes
- Skopiuj pliki i podfoldery z
C:\Brushes
doD:\NEWBrushes
Wygląda na to, że krok 3, zmiana zawartości folderu D:\NEWBrushes
powoduje zmianę znacznika czasu D:\NEWBrushes
.
Dla mnie „obejściem” było uruchomienie robocopy
polecenia skopiowania plików i folderów, a następnie ponowne uruchomienie (tego samego) robocopy
polecenia.
Więc przy pierwszym uruchomieniu:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
wszystkie pliki i foldery zostaną skopiowane. Następnie uruchom go ponownie:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
(or)
robocopy "C:\Brushes" "D:\NEWBrushes" /DCOPY:T
Przy drugim robocopy
uruchomieniu żadne pliki ani foldery D:\NEWBrushes
nie zostaną zmodyfikowane, a /DCOPY:T
opcja poinformuje robocopy
o skopiowaniu znacznika czasu z C:\Brushes
do D:\NEWBrushes
(chyba że istnieją foldery / pliki C:\Brushes
, które zmieniły się od pierwszego uruchomienia robocopy
).
rsync
, ale co, jeśli nie masz końcowego ukośnika na końcu folderu docelowego? Co powiesz na próbę zmodyfikowania skryptu na poziomie wiersza poleceń zamiast korzystania z GUI? Wiem na pewno, że narzędzie wiersza polecenia zrobi to, czego potrzebujesz.