Robocopy


Kopieren

Robocopy script


REM "Setzen der Variablen für die Sicherung...." und Logfile ins Ziel
Set Templog:H:\NAS\Daten
set quelle=E:\Copy_von_NAS\Daten
set ziel=H:\NAS\Daten
robocopy "%Quelle%" "%Ziel%" /Mir /Z /Log+:e:\logs\%date%_copy_Daten_PC_zu_USB.log /NP /NFL
REM /Mir /MIR legt eine Spiegelung der Struktur der Quelle in einem vorgegebenen Archiv-Ordner an.
REM /MIR besteht eigentlich aus zwei Parametern von Robocopy. /E und /PURGE.
REM /E kopiert alle vollen und auch leeren Unterverzeichnisse,
REM /PURGE löscht alle Dateien im Zielordner, die in der Quelle nicht mehr vorhanden sind.
REM /Z für Netzbetrieb kann weiterkopieren wenn unterbrochen
REM /LOG+ hängt Protokoll an Log-Datei an
REM /NP protokolliert keine Fortschrittsanzeigen
REM /NFL protokolliert keine Dateinamen
REM /NDL protokolliert keine Verzeichnisnamen
REM /XD exclude Directory - schließt Verzeichnisse von der Spiegelung aus
REM /XF exclude File - schließt Dateien von der Spiegelung aus

oder die Powershell Variante

# Mirror für Dateien Ordner und Rechte incl. Berechtigungen #log File wird geschrieben C:\Logs\Sync.log $Source = "\\fileserver\d$\Alles" $Destination = "\\neuerfileserver\d$\Alles" write-host '' Write-Host '===========================================================' -ForegroundColor Green Write-Host ' Start file copy process for ' -ForegroundColor Black -BackgroundColor Yellow Write-Host $Source -ForegroundColor Black -BackgroundColor Yellow Write-Host '===========================================================' -ForegroundColor Green write-host '' robocopy $source $destination /MIR /B /COPYALL /R:1 /W:5 /Sec /Log:C:\Logs\Sync.log do { $Log = Get-Content C:\Logs\Sync.log -Tail 2 $Check = ($Log | Select-String -Pattern "Beendet: " -CaseSensitive).Matches.Success Start-Sleep -Seconds 10 } Until ($Check -eq 'true') write-host '' Write-Host '===========================================================' -ForegroundColor Green Write-Host ' Mirror finished ' -ForegroundColor Black -BackgroundColor Yellow Write-Host '===========================================================' -ForegroundColor Green write-host '' Remove-Item C:\Logs\Sync.log -Force
Hinweis: Alle Befehle müssen mit Administratorrechten ausgeführt werden.