Robocopy narzędzie wiersza poleceń (pochodzi z większości wersji systemu Windows)
Na moim komputerze windows 10 znajduje się pod adresem C:\Windows\System32
Z Wikipedia , może być używany z następującym zestawem opcji do zachowania znaczników czasu plików i katalogów, jak również innych atrybutów:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
- /DCOPY:T
zachowaj oryginalne znaki czasowe katalogów (wymaga wersji XP026 lub nowszej)
- /E
: Kopiuj rekurencyjnie katalogi, w tym puste katalogi
- /R:0
: nie próbuj ponownie zablokowanych plików (liczba prób przy nieudanych kopiach domyślnie wynosi 1 milion),
/COPYALL
: kopiuj wszystkie informacje o pliku,
(odpowiednik /COPY:DATSOU
, gdzie
Jeśli tylko chcesz zachować znaczniki czasowe daty i katalogu, ale nie chcesz, aby puste podkatalogi były kopiowane i nie chcesz, aby inne atrybuty były zachowane, to możesz użyć:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
gdzie /S
kopiuje niepuste podkatalogi
Aby zobaczyć pełną składnię, wpisz robocopy /?
w wierszu poleceń, lub spójrz na te posty na blogu: https://ss64.com/nt/robocopy.html an https://techjourney.net/robocopy-syntax-command-line-switches-and-examples/
Przykład polecenia, które ostatnio wykonałem:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Zauważ, jak wykluczenie 2 podkatalogów wymaga dwukrotnego użycia flagi /XD
. Ponadto, drugie wykluczenie katalogu używa cudzysłowów, ponieważ w nazwie katalogu są spacje.
Na koniec, możesz dodać flagę /L
, aby przetestować polecenie przed wykonaniem go naprawdę. W ten sposób możesz sprawdzić, czy polecenie nie skopiuje (lub nie usunie) żadnych katalogów/plików, których nie chcesz, i czy nie ma błędów w poleceniu.
Edit: gotcha podczas kopiowania z katalogu głównego (aka drive) do folderu (non-root directory)
Po uruchomieniu przykładowej komendy powyżej, katalog nie był widoczny! (Nawet jeśli show hidden files
i show system files
były zaznaczone w Windows 10!) Następujące polecenie jak na https://serverfault.com/a/455029/399723 naprawiło to:
attrib -h -s C:\D_backup
Alternatywnie, dodanie /A-:SH
“unsets the Hidden Attribute from System files”, a więc może zapobiec ukryciu katalogu w pierwszej kolejności, jak na https://serverfault.com/a/565804/399723 . Zobacz także https://ss64.com/nt/robocopy.html .
To omówienie rzuca więcej światła na tę opcję jako rozwiązanie.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Inne oprogramowanie:
Alternatywnie, możesz pobrać GUI wersję robocopy jeśli nie chcesz używać wiersza poleceń.
Innym narzędziem windowsowym jest XCopy , chociaż jest dołączony do windows 10, jest on obecnie wycofywany. Zobacz link dla gotchas.
Strona Wikipedii dla RoboCopy (link na górze tego postu) zawiera listę innych programów, które mogą być użyte.