"robocopy" jest potężnym narzędziem o którym wie niewielu użytkowników, służącym do masowego kopiowania/przenoszenia/synchronizacji plików i katalogów.
Wpis został zainspirowany przez @koszotorobur który dokonał wpisu "jak w prostych 8 krokach zainstalować polecenie 'rsync' w systemie Windows"
Polecenie 'robocopy' jest wbudowane w systemach Windows 10/11 więc nie trzeba niczego instalować.
Uruchamiamy command line: "windows+R", wpisujemy 'cmd' i enter.
Po wpisaniu "robocopy" otrzymamy bardzo podstawowe informacje o składni tego polecenia, czyli:
ROBOCOPY source destination
Banalne, prawda? Więc gdzie tutaj potęga tego narzędzia? Wystarczy wpisać 'robocopy /?" i otrzymamy spis kilkudziesięciu parametrów tego polecenia.
Na co pozwala to polecenie?
M.in. na:
-
kopiowanie podkatalogów - wszystkich, albo tylko niepustych, albo tylko do X poziomu zagłębienia
-
kopiowanie atrybutów, uprawnień, strumieni danych
-
przenoszenie plików i katalogów
-
tworzenie struktury katalogów
-
monitorowanie źródła (jeśli coś się zmnieni, to polecenie wykona się jeszcze raz)
-
harmonogram pracy polecenia
-
kopiowanie linków symbolicznych
-
kopiowanie w wielu wątkach jednocześnie
-
filtrowanie plików według wielu parametrów
-
mirror katalogu
Przykład z życia?
Tak wygląda to polecenie u mnie - robię w ten sposób mirror dysku sieciowego do katalogu lokalnego:
robocopy w: "e:\backup" /MIR /COPYALL /DCOPY:DAT /E /XD w:\@Recently-Snapshot /R:5 /W:5 /ndl /nfl /nc /ns /np
Czyli:
"kopiuj pliki z dysku W: do katalogu e:\backup
/MIR - mirror katalogu
/COPYALL - kopiuj wszystkie dodatkowe parametry: dane, atrybuty, czas, uprawnienia, dane właściciela, dane audytu)
/DCOPY:DAT - podobnie, ale dla katalogów (dane, atrybuty, czas)
/E - kopiuj podkatalogi, nawet te puste
/XD w:\@recently-snapshot - wyklucz pliki o takich nazwach z kopiowania - XD, czaicie?
/R:5 - w razie błędu powtórz 5 razy próbę skopiowania
/W:5 - czekaj 5 sekund między próbami
/NDL - nie loguj nazw katalogów
/NFL - coś o hokeju
/NC - nie loguj klas plików
/NS - nie loguj wielkości plików
/NP - nie pokazuj procentów
Dużo tego 'nie loguj', ale im mniej na ekranie, tym szybciej się kopiuje, a ja tam mam prawie 2 miliony plików
Polecam wszystkim chętnym na zapoznanie się z tym poleceniem.
Wrócę jeszcze na moment do unixowego polecenia 'rsync'. Te narzędzia świetnie się uzupełniają. rsync potrafi np. podpiąć się do innego komputera poprzez różne protokoły (czego robocopy nie umi), sam sposób synchronizacji też jest zupełnie inny niż w robocopy, ale znowu robocopy jest narzędziem stricte pod Windows i potrafi kopiować różne metadane plików, czego rsync nie potrafi.
ps: jest jeszcze drugie, podobne polecenie, ale o mniejszej potędze: 'xcopy'. Też warto podejrzeć co potrafi.
#technologia #windows #robocopy #komputery
Ciekawe, jest też takie polecenie odnośnie kasowania plików według kryterium ?
@VanQuish - na Linuksie kasowanie plików według kryterium to betka ... na Windowssie to nie wiem.
BTW jak masz Git Bash na Windzie to masz polecenie unixowe find.
Komentarz usunięty przez moderatora
@LovelyPL
NIE UZYWAC.
Za takie żarciki powinien być ban na miesiąc i tytuł Troll-Psuj.
Zgłoszone do moderacji.
Dla postronnych, jeśli puścicie te komendę z wysokimi uprawnieniami, będziecie mieć komputer z Windows do reinstalacji (lub naprawy).
Opis działania polecenia: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/remove-item?view=powershell-7.4
@Dzemik_Skrytozerca Przecież napisałem, żeby tam dać na końcu -WhaiIf, więc nie wiem po co ta agresja.
@LovelyPL - ja sem inspirator!
I do tego oddałeś należny ukłon w stronę rsynca
@koszotorobur bo rsync to mocarz w swojej kategorii
Jak chcę zrobić synchronizację czy kopię serwera mailowego tak, żeby go nie wyłączać, to używam rsynca. Jak robię kopię dysku sieciowego podpiętego do MSAD ze wszystkimi jego właściwościami, to używam robocopy albo innych narzędzi Windowsowych, bo rsync nie umi skopiować metadanych - co nie jest dziwne, bo to narzędzie z innego systemu
@LovelyPL nigdy nie słyszałem o robokopie, zawsze wszyscy używali xcopy
Może już czas przesiąść się z win8.1
@RACO omujborze chłop z własnej woli tyle czasu siedzi na 8.1. Niebywałe.
Żeby nie było: nie hejtuję ciebie tylko win 8.1
@the_good_the_bad_the_ugly Też na tym siedzę, gówno to jest ale człek się przyzwyczaił.
@the_good_the_bad_the_ugly człowiek się przyzwyczaja do pewnych rzeczy. Po prostu wzbraniam się przed konfiguracja wielu softów pod nowe środowisko.
Za to na 3 innych łapkach mam win 10/11
@vredo @RACO ha! z tego samego powodu trzymam się win10 jak tonący brzytwy
@the_good_the_bad_the_ugly A ja tęsknię za 7 xd
@vredo a kto nie tęskni?
@the_good_the_bad_the_ugly Czyli nie jestem sam a myślałem, że to tylko taki chory mój sentyment.
@LovelyPL dzięki za wrzutkę. Warto sobie to wrzucić w Task Schedulera i robić cykliczną kopię na backupowy dysk czy lepiej wykorzystać inne narzędzia?
@the_good_the_bad_the_ugly To już zależy co i jak chcesz kopiować.
Ja używam i robocopy i takiego fajnego narzędzia (jest płatne, ale wersja free też istnieje, z ograniczeniami) - SyncBack.
https://www.2brightsparks.com/freeware/index.html
Osobiście w firmie używamy wersji Pro i mamy tam kilkaście zadań wrzuconych, typu - codziennie kopiuj pliki które zmieniły sie przez ostatnie 24 godziny. Przed kopiowaniem stwórz katalog o nazwie yyyy-mm-dd. Albo "sprawdzaj czy w katalogu X coś się zmieniło. Jesli tak, to przerzuć zmienione pliki w inne miejsce". itd.
@the_good_the_bad_the_ugly - ja zwykłym użytkownikom do ustawiania cyklicznych/zaplanowanych prac z plikami polecam program FreeFileSync: https://freefilesync.org/manual.php?topic=schedule-batch-jobs
@koszotorobur Używam, polecam.
@LovelyPL czy twoje polecenie robi kopie inkrementalna czy za kazdym razem wali wszystko?
@zboinek robocopy działa na poziomie plików, więc przewala całe pliki, ale jak dajesz opcje typu /MIR to oczywiście kopiuje tylko to, co się różni w źródle i w celu, a nie wszystko od nowa za każdym razem (no, chyba, że chcesz, to ci będzie kopiować zawsze wszystko)
@LovelyPL rozumiem, że modyfikacje wtedy też mi przerzuci? W sensie patrzy np. na date ostatniej modyfikacji
Backup na Seagate zrobiony. Jutro przyjeżdża 1tb SSD, montaż i instalacja Steam OS 3.0 bo na tym da się grać i Gównosoft WX zostanie do gier linuksoodpornych
@LovelyPL A czy rsync z parametrem -a nie kopiuje brakujących metadanych o których mówisz czy to coś innego?
@Catharsis są parametry dotyczące atrybutów czy ACL, ale z moich testów (niezbyt licznych) i tego, co mówi google wynika, że rsync nie kopiuje poprawnie listy uprawnień czy atrybutów rozszerzonych. Podobnie ze strumieniami danych.
Ale to nie dziwi, bo jest to narzędzie linuxowe i nie ma w nim zaimplementowanych pewnych funkcji specyficznych wyłącznie dla Windows.
Możliwe, że są jakieś forki tego polecenia, które to potrafią, ale nie znam. I nie szukam, bo to, co potrzebuję robię narzędziami, które mam
@LovelyPL NFL to nie hokej
@czasnaplacki Kurde, fakt - i cały wpis psu w d....
Zaloguj się aby komentować