91863
Goto Top

Frage zum Copy Job Robocopy etc Möchte Folder kopieren aber ohne Inhalt. Es sollen nur Dateien mit xml kopiert werden

Hallo Zusammen,

wir haben ein Sicherungssystem , das alle Kunden auf ein NAS System ablegt. Nun wird jeder Kunde als Profile.xml abgespeichert.
Darin sind Kundendaten und Backupjobs definierte. Zerreist es morgen das NAS , sind alle Backupjobs und Kunden weg. Und müssten manuell neu angelegt werden.
Nun möchte ich ein Copy machen über das NAS. Es soll die Ordnerstruktur kopieren, aber keine Dateien mitnehmen. Es soll nur Dateien mit *XML , *xml1 (System legt mehrere an *xml2 bis xml9 ) mitkopieren.
Im falle eine Crash kann die Struktur einfach auf das neue NAS gelegt werden, danach zieht es die JOBs neu an. Mit Robocopy habe ich nicht rausgefunden wie ich das machen kann. Nur ganze Strukturen , oder einzelne Files.

Gruss
Ralf

Content-ID: 217631

Url: https://administrator.de/forum/frage-zum-copy-job-robocopy-etc-moechte-folder-kopieren-aber-ohne-inhalt-es-sollen-nur-dateien-mit-xml-217631.html

Ausgedruckt am: 09.04.2025 um 10:04 Uhr

colinardo
colinardo 23.09.2013 aktualisiert um 14:01:36 Uhr
Goto Top
Hallo Ralf,
dazu könntest du folgendes Powershell-Script hernehmen: (Quell und Ziel-Ordner in der letzten Zeile angeben)
function CopyStructureWithXML($source,$target){
    ##get all XML files (*.xml[1-9])
    $allXMLFiles = get-childitem $source -Recurse | ?{$_.Extension -match "\.xml[1-9]*"}  
    ##get all folders recursive
    $allFolders = get-childitem $source -Recurse |?{$_.PSIsContainer}
    ##pre-create folders
    foreach ($fldr in $allFolders){
        $newFolder = $fldr.FullName.Replace("$source","$target")  
        if (!(Test-Path $newFolder)){
            md $newFolder | out-null
        }
    }
    # copy files
    foreach ($file in $allXMLFiles){
        $targetFile = $file.FullName.Replace("$source","$target")  
        $sourcefile = $file.FullName
        copy-item -Path $sourcefile -Destination $targetFile -Force
    }
}

CopyStructureWithXML "F:\quelle" "F:\ziel"  

Grüße Uwe
91863
91863 23.09.2013 um 16:24:00 Uhr
Goto Top
Hallo,

ich habe das abgespeichert als *.ps1 Datei , aber wenn ich es ausführe zeiht es mir die Dateien nicht raus.

Gruss
Ralf
colinardo
colinardo 23.09.2013 aktualisiert um 16:33:08 Uhr
Goto Top
wenn du noch nicht mit powershell gearbeitet hast musst du erst die Scriptsicherheit hiermit in einer Powershell Konsole als Admin einstellen:
set-executionpolicy RemoteSigned
Das Script ansich läuft ansonsten bei mir einwandfrei... und macht das so wie du es geschrieben hast, die Ordnerstruktur replizieren und nur die XML-Dateien in den Ordnern mitkopieren...

Grüße Uwe
Endoro
Endoro 23.09.2013 aktualisiert um 21:54:00 Uhr
Goto Top
Hi,
angenommen dein NAS ist Volume Z: sollte es so gehen:
robocopy "Z:\" "D:\backup\folder" *.xml? /l /e  
Wenn die Ausgabe iO ist, durch Loeschen des Parameters /l scharf stellen.
lg.

PS: /s wieder gelöscht. thx. bastla.
bastla
bastla 23.09.2013 aktualisiert um 21:22:00 Uhr
Goto Top
@ Endoro
Wozu das "/s" (der Rest sähe bei mir gleich aus)?

Grüße
bastla
Endoro
Endoro 23.09.2013 um 21:52:36 Uhr
Goto Top
@bastla

Hi, hast du vollkommen recht, den hab ich mir von Xcopy ausgeliehen face-smile
l.g.
bastla
bastla 23.09.2013 um 22:19:24 Uhr
Goto Top
@ Endoro
den hab ich mir von Xcopy ausgeliehen face-smile
... wo er auch schon nicht nötig war ... face-wink

Grüße
bastla
91863
91863 24.09.2013 um 09:44:24 Uhr
Goto Top
Hallo,

mit dem /e kommt das Subdirectory inclusive Inhalt mit. ich brauche eben nur die Directorys.

Gruss
Ralf
colinardo
colinardo 24.09.2013 aktualisiert um 09:54:40 Uhr
Goto Top
Zitat von @91863:
Hallo,
mit dem /e kommt das Subdirectory inclusive Inhalt mit. ich brauche eben nur die Directorys.
Dann machst du grundlegend etwas falsch, wenn alles was wir dir hier anbieten bei Dir nicht funktioniert und bei uns schon ...
Poste doch bitte deine verwendete Zeile. Wahrscheinlich hast du das *.xml? vergessen.

Grüße Uwe
91863
91863 24.09.2013 um 10:12:17 Uhr
Goto Top
Hoi Uwa,

beim Robocopy hatte ich noch das /l als Probe drinnen ! Also kommt es ohne Inhalt so ?

Gruss
Ralf
colinardo
colinardo 24.09.2013 aktualisiert um 10:20:38 Uhr
Goto Top
Zitat von @91863:
beim Robocopy hatte ich noch das /l als Probe drinnen ! Also kommt es ohne Inhalt so ?
@Endoro hat's doch schon richtig gepostet, ich weiß nicht wo dein Problem liegt ? Dies kopiert alle Ordner (auch leere) ohne Inhalt bzw. nur die (*.xml[1-9]) Dateien.
robocopy "Z:\" "D:\backup\folder" *.xml? /e  
G. Uwe
91863
91863 24.09.2013 um 10:20:13 Uhr
Goto Top
Ok Sorry. Ich teste es eben. Hatte bei Robocopy in der Befehlsreferenz gelesen , und das falsch interpretiert.

Gruss
Ralf
91863
91863 24.09.2013 um 12:09:53 Uhr
Goto Top
Danke zusammen.

Es geht mit Robocopy einwandfrei.

Gruss
Ralf