Wie kopiere ich eine Verzeichnisstruktur, ohne Dateien zu kopieren?

47

Ich habe einen Ordner mit vielen Unterordnern und Dateien. Gibt es eine Möglichkeit, die Ordner- und Unterordner-Verzeichnisstruktur zu kopieren, ohne die darin enthaltenen Dateien mithilfe von cmd oder Powershell zu kopieren?

Turm
quelle

Antworten:

45

Wenn Sie auch leere Ordner kopieren möchten.

xcopy C: \ Ordner D: \ Ordner / t / e

Michael Mantion
quelle
1
richtig, /esollte auch verwendet werden.
1
XCOPY Powershell ist standardmäßig integriert und funktioniert einwandfrei.
BenCes
29

Jep. XCOPY

XCopy source {destination}  /t

Beispiel

xcopy C:\Folders D:\Folders /t

Weitere Informationen zu xcopy finden Sie hier http://ss64.com/nt/xcopy.html

BroScience
quelle
5
Sie sollten hinzufügen, /eum auch leere Ordner zu kopieren
18

Obwohl XCOPY noch funktioniert, enthält Windows Vista und höher ROBOCOPY mit mehr Funktionen. Die allgemeine Syntax zum Kopieren eines Ordnerbaums (einschließlich leerer Ordner) ohne die Dateien lautet:

robocopy "A:\Source folder" "B:\Destination folder" /e /xf *

Theodor
quelle
3

PowerShell-Methode, bei der nicht jede Datei kopiert und anschließend gelöscht werden muss:

Copy-Item -LiteralPath '.\source' -Destination 'C:\path\to\copy' -Recurse -Filter {PSIsContainer -eq $true}

Oder prägnanter:

copy .\source C:\path\to\copy -r -fi PSIsContainer

Der einzig interessante Trick hierbei ist die Filterung der PSIsContainerEigenschaft, die für Verzeichnisse, jedoch nicht für Dateien gilt.

Ben N
quelle
Das geht auch super schnell!
Regmi
1

Schauen Sie sich die 47folders-App an, ein kostenloses, handliches Windows-Tool, das genau das tut, was Sie über eine nette GUI benötigen. Bildbeschreibung hier eingeben

WARNUNG: Der frühere Link ( http://47foldersapp.com/ ) führt jetzt (November 2017) zu Werbung für Kleidung. Die letzte gute Kopie von Internet Archive ist hier . Software ist möglicherweise noch von Freeware-Download-Sites wie dieser erhältlich .

andymcgregor
quelle
0

Es gibt wahrscheinlich eine bessere Lösung, aber ich würde diese sehen:

  • Kopieren Sie alles und leeren Sie die Ordner mit einem Skript.

  • Erstellen Sie ein Skript, das alles kopiert, wenn es keine Erweiterung hat. Es sei denn, Sie haben Dateien ohne Erweiterung in den Ordnern, die Sie nicht sollten, sollte es funktionieren, weil gut. Ordner haben keine Erweiterungen. Etwas, das im Pseudocode so aussehen würde:

open_directory ($ path);
while ($ file = get_directory_content) {
if (leer (get_file_extension ($ file))) {
copy_the_file ($ file, $ destination);
}
}
close_directory;

Ariane
quelle
Leider haben wir Dateien ohne Endung. Von Platzhaltern für Code-Repos zu bestimmten Datendateien.
Turm
Oh. Gut. Vielleicht gibt es dann ein Wenn (es ist ein Ordner). Aber ähm. Das obige xcopy-Ding scheint dann das Richtige für dich zu sein. Andernfalls können Sie ein Skript ausführen, um 1. alle Ordner zu kopieren und 2. alle Ordner zu leeren. Oder so. Aber das ist ... lang. xD
Ariane
0

Verwenden Sie dazu PowerShell. Kopie des Ordners erstellen und dann Remove-Item -Path "C:\test\*.*" -recurse

user1586957
quelle
-1

Soweit ich weiß, gibt es Software von Drittanbietern, die diese Funktionalität bieten kann, wenn Sie mit der Eingabeaufforderung arbeiten möchten, dann ist der Befehl copy da draußen. Geben Sie Hilfe Kopie in cmd , die Details enthält, wie Sie Dateien über cmd kopieren.
nach dem kopieren gehe in den ordner über cmd und starte den befehl

del *. *
das löscht dateien weil ordner nicht haben. Charakter

Vishal
quelle
3
Löscht Dateien, aber wer sagt, dass Ordnernamen auch keine Punkte / Punkte enthalten dürfen?
Karan