poldimuc
Goto Top

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
kundenstruktur002
kundenstruktur001

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

rubberman
rubberman 10.09.2017, aktualisiert am 11.09.2017 um 08:59:59 Uhr
Goto Top
Das wirst du mit einem ROBOCOPY Aufruf nicht hinbekommen.
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
Grüße
rubberman
NetzwerkDude
NetzwerkDude 11.09.2017 aktualisiert um 14:23:52 Uhr
Goto Top
#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 face-smile

PS: Ist PowerShell 4