Robocopy soll nur spezielle Unterordner kopieren
Guten Abend,
ich möchte mit Robocopy nur spezielle Ordner einer Ordnerstruktur incl. der übergeordneten Ordnerstruktur kopieren (siehe Bild 1 Quellstruktur und Bild 2 kopierte Struktur). Es soll nur noch der Parameter-Ordner auf dem Zielordner zu finden sein. Klar könnte ich den Befehl wie folgt ausführen "robocopy d:\datensicherung \\server\Kunden *.* /XD Bilder /S" wenn aber in dem Kundenordner weitere Ordner sein können muss ich alle manuell ausschließen. Leider ist der Parameterordner unterschiedlich tief in der Ordnerstruktur versteckt.
Hat jemand eine Idee wie ich das lösen kann?
Grüße Jochen
ich möchte mit Robocopy nur spezielle Ordner einer Ordnerstruktur incl. der übergeordneten Ordnerstruktur kopieren (siehe Bild 1 Quellstruktur und Bild 2 kopierte Struktur). Es soll nur noch der Parameter-Ordner auf dem Zielordner zu finden sein. Klar könnte ich den Befehl wie folgt ausführen "robocopy d:\datensicherung \\server\Kunden *.* /XD Bilder /S" wenn aber in dem Kundenordner weitere Ordner sein können muss ich alle manuell ausschließen. Leider ist der Parameterordner unterschiedlich tief in der Ordnerstruktur versteckt.
Hat jemand eine Idee wie ich das lösen kann?
Grüße Jochen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 348707
Url: https://administrator.de/forum/robocopy-soll-nur-spezielle-unterordner-kopieren-348707.html
Ausgedruckt am: 21.04.2025 um 20:04 Uhr
2 Kommentare
Neuester Kommentar
Das wirst du mit einem ROBOCOPY Aufruf nicht hinbekommen.
Vielleicht so:
Grüße
rubberman
Vielleicht so:
@echo off &setlocal DisableDelayedExpansion
set "src=D:\Datensicherung"
set "dst=\\server\Kunden"
pushd "%src%"
for /f "delims=" %%i in ('dir /ad /b /s "Parameter"') do (
set "f=%%i"
setlocal EnableDelayedExpansion
robocopy "!f:%cd%\=!" "!dst!!f:%cd%=!" *.* /s
endlocal
)
popd
rubberman
#rooverzeichnis welches durchsucht werden soll
$QuellPfad = "D:\Files"
#zielverzeichnis der backups
$ZielPfad = "D:\Backupverzeichnis"
#Ordnernamen nach denen gesucht werden soll
$Parameter = "Suchparameter"
# Die kompletten Pfade der gesuchten Ordner ausgeben
$Paths = Get-ChildItem -Directory $QuellPfad -Recurse | where {$_.Name -match $Parameter} | % {$_.FullName}
# Die gefundenene Ordner per Robocopy ins ZielVerzeichnis kopieren, dabei den kompletten pfad rekonstruien (ohne den laufwerksbuchstaben, da sonst ein ":" im Namen ist)
$Paths | % {robocopy $_ (split-path $_ -NoQualifier).ForEach({"$ZielPfad$_"}) /E}
Habe das mal so kurzerhand vor der Mittagspause entwickelt - kann sein das da noch fehler sind, teste es auf jeden fall in einem nichtproduktivverzeichnis
PS: Ist PowerShell 4