Manuál příkazu robocopy
Kompletní referenční příručka k Robocopy (Robust File Copy) — nástroji příkazové řádky pro spolehlivé kopírování a zrcadlení souborů a adresářů ve Windows, včetně sítí, obnovy po výpadku spojení a zálohovacích scénářů.
01 Co je robocopy
Robocopy je nástroj příkazové řádky vestavěný ve Windows (od Windows Vista / Server 2008 součást systému, dříve součást Resource Kitu). Na rozdíl od klasického copy nebo xcopy je navržen pro robustní přenosy velkých objemů dat — umí automaticky obnovit přerušené kopírování, přeskočit již přenesené soubory, zrcadlit celé stromy adresářů a zachovat atributy, časová razítka i oprávnění NTFS.
Používá se typicky pro zálohování, migraci dat na nový server, synchronizaci sdílených složek přes síť a jako motor v naplánovaných úlohách (Task Scheduler).
/MIR). Vždy si nejdřív ověřte chování pomocí /L (zkušební běh bez zápisu).
02 Základní syntaxe
robocopy zdroj cíl [soubory] [přepínače]
| Prvek | Popis |
|---|---|
zdroj | Cesta ke zdrojové složce (lokální, UNC síťová cesta, nebo mapovaný disk). |
cíl | Cesta k cílové složce. Robocopy vždy pracuje se složkami, ne s jednotlivými soubory jako cílem. |
soubory | Volitelná maska souborů, např. *.docx. Výchozí je *.* (vše). |
přepínače | Volby ovlivňující rozsah, chování při chybách, filtrování a logování. |
"C:\Data\" se interpretuje špatně) — použijte "C:\Data" nebo zdvojte lomítko "C:\Data\\".
03 Rychlý start
Zkopírovat obsah složky (bez podsložek)
robocopy "C:\Zdroj" "D:\Cil"
Zkopírovat včetně všech podsložek (i prázdných)
robocopy "C:\Zdroj" "D:\Cil" /E
Zrcadlení — cíl bude přesně odpovídat zdroji
robocopy "C:\Zdroj" "D:\Cil" /MIR
/MIR maže v cíli vše, co ve zdroji chybí. Otestujte nejdřív s /L — viz kapitola Recepty.
04 Rozsah kopírování
/E + /PURGE. Maže v cíli soubory a složky, které již nejsou ve zdroji./E /PURGE dohromady./MIR s omylem prohozeným zdrojem a cílem dokáže nenávratně smazat obsah celé sdílené složky. Před ostrým použitím vždy proveďte zkušební běh s /L.
05 Atributy a metadata
Robocopy standardně kopíruje data, atributy a časová razítka souborů (/COPY:DAT je výchozí). Rozsah lze upravit:
DAT.DA. /DCOPY:T je potřeba pro zachování data vytvoření/změny složky./COPY:DATS — zachová i zabezpečení NTFS./COPY:DATSOU — vše včetně vlastníka a auditu./PURGE pro pouhé čištění cíle.06 Výkon a vícevláknové kopírování
/NP (nezobrazuje procenta u jednotlivých souborů).robocopy "\\Server\Sdilena" "D:\Zaloha" /E /MT:16
/MT pomáhá hlavně u velkého počtu malých souborů. U několika málo velkých souborů efekt nemusí být znatelný a vyšší zátěž disku/sítě může naopak výkon zhoršit.
07 Opakování a čekání
Výchozí chování robocopy při chybě přístupu k souboru je 1 milion pokusů s prodlevou 30 sekund — na nespolehlivé síti to prakticky zamrzne úlohu na dny. Vždy nastavujte vlastní hodnoty.
/R:3 až /R:5./W:5 až /W:10./R a /W do registru jako výchozí pro budoucí spuštění.robocopy zdroj cíl /E /R:3 /W:5
08 Výběr a vyloučení souborů
/XF *.tmp *.log./XD "Temp" "node_modules".robocopy "C:\Projekty" "E:\Zaloha\Projekty" /MIR /XD "node_modules" ".git" "__pycache__" /XF *.tmp Thumbs.db desktop.ini
09 Časové a velikostní filtry
robocopy "C:\Data" "D:\Prirustkova" /E /MAXAGE:7
10 Logování a výstup
/MIR a /PURGE před ostrým spuštěním.robocopy zdroj cíl /MIR /R:3 /W:5 /LOG:"C:\Logy\zaloha.log" /NP /NDL :: přehledný souhrnný log
12 Praktické recepty
Zkušební běh před ostrým zrcadlením
robocopy "C:\Zdroj" "D:\Cil" /MIR /L /NP :: jen nasimuluje, nic nezmění
Plnohodnotná záloha s logem a odolností proti výpadku sítě
robocopy "\\Server\Data" "E:\Zalohy\Data" /MIR /R:3 /W:10 /MT:8 /LOG+:"C:\Logy\zaloha_%date:~-4,4%%date:~-7,2%%date:~-10,2%.log" /NP /TEE
Synchronizace bez mazání (jen přidávat, nikdy neubírat)
robocopy "C:\Zdroj" "D:\Cil" /E :: bez /PURGE nic nemaže
Přesun souborů (kopie + smazání zdroje po úspěchu)
robocopy "C:\Docasne" "D:\Archiv" /MOVE /E :: /MOVE = /MOV + smazání prázdných složek ve zdroji
Dávkový skript s kontrolou návratového kódu
@echo off robocopy "C:\Data" "E:\Zaloha" /MIR /R:3 /W:5 /NP /LOG:zaloha.log if %ERRORLEVEL% GEQ 8 ( echo Zaloha selhala, kod: %ERRORLEVEL% exit /b 1 ) else ( echo Zaloha probehla v poradku, kod: %ERRORLEVEL% exit /b 0 )
Naplánování přes Task Scheduler (schtasks)
schtasks /create /tn "NocniZaloha" /tr "C:\Skripty\zaloha.bat" /sc daily /st 02:00
13 Časté chyby a tipy
Cesta v uvozovkách končící lomítkem
"D:\Cil\" na konci příkazu Windows interpretuje uvozovku jako escapovaný znak a spojí ji s dalším argumentem. Řešení: nepoužívat koncové lomítko, nebo jej zdvojit.
Výchozí opakování 1 milion pokusů
Bez /R a /W se robocopy při nedostupném souboru (např. zamčeném antivirem) pokouší milionkrát po 30 vteřinách — úloha může vypadat jako zaseknutá celé dny. Vždy explicitně nastavte /R:3 /W:5 nebo podobně.
Délka cesty nad 260 znaků
Robocopy standardně zvládá i delší cesty než klasický Windows Explorer díky interní podpoře prefixu \\?\. Pokud přesto narazíte na chybu, zkuste zkrátit hloubku struktury nebo použít mapovaný disk blíž ke zdrojové složce.
/MIR a atribut skryté/systémové soubory
Ve výchozím nastavení robocopy kopíruje i skryté a systémové soubory. Pokud narazíte na neočekávané mazání souborů jako desktop.ini, přidejte je do /XF.
Rozdíl mezi /MOV a /MOVE
| Přepínač | Chování |
|---|---|
/MOV | Přesune soubory, ale zdrojové složky ponechá (i prázdné). |
/MOVE | Přesune soubory i složky — zdroj po dokončení zůstane prázdný. |
Kontrola verze
robocopy /? :: vestavěná nápověda přímo v systému