Öfters habe ich schon mal nach etwas brauchbarem dafür gesucht, konnte aber leider nichts finden. Deshalb habe ich vor einiger Zeit mal ein kurzes aber praktisches Skript dafür geschrieben. Es funktioniert recht simpel. Alle Ordner und wiederum deren Unterordner, die sich im Source-Path befinden, werden im Destination-Path in der gleichen Verschachtelung angelegt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function CopyFolderStructure ($path_in, $path_out) { $folders = Get-ChildItem -Path $path_in -Attributes D; foreach ($folder in $folders) { # Determine folder paths $path_source_inner = $path_in + "\" + $folder; $path_dest_inner = $path_out + "\" + $folder; # Create empty folder in destination folder New-Item -Itemtype Directory -Path $path_dest_inner; # Recursive call for subfolders CopyFolderStructure -path_in $path_source_inner -path_out $path_dest_inner; } } # Using the function $path_source = "C:\Source"; $path_dest ="C:\Destination"; CopyFolderStructure -path_in $path_source -path_out $path_dest; |
Zwar ist mein Studium aufgrund verschiedener Gründe im Pause-Modus auf unbestimmte Zeit, aber wenigstens konnte ich hier mal eine rekursive Funktion anwenden 😀
CopyFolderStructure.ps1