Przejdź do głównej zawartości

robocopy

Komenda robocopy (Robust File Copy) służy do kopiowania plików i folderów z zachowaniem ich atrybutów, uprawnień oraz struktury katalogów. Oferuje funkcje niedostępne w standardowych poleceniach copy i xcopy, takie jak wznawianie przerwanych transferów, wielowątkowość, filtrowanie plików oraz synchronizację katalogów.

Dostępna jest w systemach Windows począwszy od Windows Vista (natywnie) oraz Windows Server 2003 Resource Kit (jako dodatek). Wspierana w Windows 7, 8, 10 i 11.


robocopy <źródło> <cel> [pliki] [opcje]
  • <źródło> – ścieżka do katalogu źródłowego.
  • <cel> – ścieżka do katalogu docelowego.
  • [pliki] – opcjonalna lista plików do skopiowania (domyślnie wszystkie).
  • [opcje] – przełączniki kontrolujące sposób kopiowania i synchronizacji.

ParametrOpis
/EKopiuje podkatalogi, łącznie z pustymi.
/SKopiuje podkatalogi, z pominięciem pustych.
/COPY:flagsOkreśla, które atrybuty kopiować (np. D – data, A – atrybuty, T – znaczniki czasowe).
/MIROdbicie lustrzane – synchronizuje katalog docelowy, usuwając pliki nieistniejące w źródle.
/ZWłącza tryb restartowalny (wznawianie przerwanych transferów).
/MT[:N]Kopiuje wielowątkowo (domyślnie 8 wątków, maksymalnie 128).
/LOG:<plik>Zapisuje log operacji do wskazanego pliku.
/R:NLiczba prób ponowienia w przypadku błędów (domyślnie 1 milion).
/W:NCzas oczekiwania (w sekundach) między próbami (domyślnie 30).
/XD <katalogi>Wyklucza podane katalogi z kopiowania.
/XF <pliki>Wyklucza podane pliki z kopiowania.
  • robocopy domyślnie ignoruje pliki, które się nie zmieniły.
  • Wiele opcji można łączyć, aby dopasować zachowanie kopiowania do potrzeb.

\Backup
robocopy C:\Projekty D:\Backup /E
# Synchronizacja folderu źródłowego z docelowym (usuwanie zbędnych plików)
robocopy C:\Dane Z:\Serwer /MIR
# Kopiowanie z logiem i wielowątkowo (16 wątków)
robocopy C:\Repo D:\Kopia /E /MT:16 /LOG:C:\raport.log
# Kopiowanie z wykluczeniem folderu "Tymczasowe" i plików *.tmp
robocopy C:\Projekty D:\Backup /E /XD C:\Projekty\Tymczasowe /XF *.tmp

  • robocopy nie kopiuje otwartych plików systemowych (chyba że uruchomione z Volume Shadow Copy Service).
  • W przypadku użycia /MIR należy uważać – może trwale usunąć pliki w katalogu docelowym.
  • W PowerShell można używać robocopy bez zmian składni, jako jest to zewnętrzne narzędzie.

Błąd / KomunikatPrzyczynaRozwiązanie
ERROR 32 (0x00000020)Plik używany przez inny proces.Zamknij aplikacje korzystające z pliku lub użyj opcji VSS (shadow copy).
Access is deniedBrak odpowiednich uprawnień do katalogów źródłowych lub docelowych.Uruchom CMD jako administrator lub nadaj prawa dostępu.
Invalid ParameterNiepoprawna kombinacja przełączników.Sprawdź dokumentację i usuń sprzeczne opcje (np. /S i /MIR).