Das ist eine dumme Frage, aber ich weiß einfach nicht, warum es nicht funktioniert.
Ich versuche, die Dateien rekursiv von FolderA nach FolderB zu kopieren. Ich mache das:
Copy-Item -Path "C:\FolderA\" -Destination "C:\FolderB\" -recurse -Force -Verbose
Es funktioniert super, kein Problem.
Außer das Ergebnis in FolderB ist folgendes:
C:\FolderB\FolderA\file.txt
Ich möchte, dass es so ist:
C:\FolderB\file.txt
Was für eine blöde offensichtliche Sache vermisse ich?
powershell
CleverPatrick
quelle
quelle
Antworten:
Ihr Befehl weist PowerShell an, den Ordner selbst mit seinem gesamten Inhalt in den Zielordner zu kopieren. Um nur den Inhalt des Originalordners zu kopieren, ändern Sie Ihren Pfad wie folgt:
Beachten Sie das Sternchen (*) nach dem Ordnernamen. Dadurch wird der Inhalt (einschließlich der Unterordner) des Ordners kopiert, nicht jedoch der Ordner selbst in den Zielordner.
Verwenden des Cmdlets Copy-Item
quelle
md "C:\FolderB"
vorCopy-Item
scheint dieses Problem zu vermeiden.Copy-Item
die Ordnerstruktur zu reproduzieren, aber eine Ebene tiefer (z. B.C:\FolderA\B\C
wirdC:\FolderB\C
anstelle von kopiertC:\FolderB\B\C
) und kann auch fehlschlagen, wenn mehrere Unterordner vorhanden sind. Stellen Sie immer sicher, dass der Zielordner vorhanden ist, bevor Sie Copy-Item aufrufen. Dies riecht nach einem Fehler (ich kann keinen Grund erkennen, warum dieses inkonsistente Verhalten wünschenswert wäre).Sie können -File -Recurse nur zum rekursiven Kopieren von Dateien verwenden:
Copy-Item -Path "C: \ Source" -Destination "C: \ Dest" -File -recurse -Force -Verbose
Oder verwenden Sie -Directory -Recurse, um nur die Empy-Ordnerstruktur zu kopieren:
Copy-Item -Path "C: \ Source" -Destination "C: \ Dest" -Directory -recurse -Force -Verbose
Mit freundlichen Grüßen,
Paul Pedroza
quelle
Würde auch funktionieren.
quelle