Ich möchte einen Ordner mit Unterverzeichnissen, Dateien und Dateien in Unterverzeichnissen kopieren, dabei die Struktur beibehalten und sie an einem neuen Speicherort erstellen, der vorher nicht existierte. Das ist mein Powershell-CodeKopieren der Ordnerstruktur an einen Speicherort, der nicht existiert
Copy-Item c:\development\powershell\folderone\* c:\development\powershell\foldertwo -recurse -Container
Copy-Item c:\development\powershell\folderone\* c:\development\powershell\folderthree -recurse -Container
foldertwo
existiert und leer ist, folderthree
nicht existiert.
Wenn ich das Skript ausführen, wird die Struktur korrekt in foldertwo
erstellt, wird jedoch folderthree
erstellt, enthält aber nur alle Dateien aus dem gesamten Unterbau, alle an der Wurzel folderthree
Ebene. Es hat die Unterordner innerhalb folderone
nicht neu erstellt, legen Sie einfach alle Dateien auf der Stammebene von folderthree
.
Was habe ich falsch gemacht?
Wenn ich das Problem richtig verstehe, möchten Sie vielleicht zuerst 'Test-Path' verwenden und dann, wenn es als 'false' zurückkehrt, das Verzeichnis erstellen, ala [this] (http: // stackoverflow. com/a/16911470/2486496) antworten Sie hier. – gravity
Danke, das hat den Trick – NZJames
Ich kann dieses Verhalten nicht reproduzieren, wenn ich 'copy-item c: \ test c: \ test2 -recurse -container' benutze (ohne' * ') dann funktioniert es und legt Dateien hinein Unterordner. Wenn ich es mit einem '*' in der Quelle versuche, wie Sie es haben, bekomme ich Fehler und es kopiert nicht alles - aber es dumpt keine Dinge im root. Hast du es ohne das Sternchen in der Quelle versucht? – TessellatingHeckler